1. 测试函数
def ABC(first, last):
print(f"{first}: {last}")
return first
1.1 单元测试和测试用例
- unnittest模块:代码测试
- 单元测试:核实函数的某个方面没有问题
- 测试用例:一组单元测试
- 全覆盖的测试用例:一整套单元测试,涵盖了各种可能的函数使用方式
1.2 可通过的测试
import unittest
def ABC(first, last):
print(f"{first}: {last}")
return first
class Test(unittest.TestCase):
def test_case(self):
message = ABC("a", "b")
self.assertEqual("a", message)
if __name__ == "__main__":
unittest.main()
- .assertEqual():断言实际值和预测值相等
- __ name __ :在自己用时就是 __ main __,当自己作为模块被调用时就是自己的名字
1.3 未通过的测试
import unittest
def ABC(first, last):
print(f"{first}: {last}")
return first
class Test(unittest.TestCase):
def test_case(self):
message = ABC("a", "b")
self.assertEqual("A", message)
if __name__ == "__main__":
unittest.main()
1.4 添加新测试
import unittest
class Test(unittest.TestCase):
def test_case_1(self):
self.assertEqual(1, 2)
def test_case_2(self):
self.assertEqual(2, 3)
if __name__ == "__main__":
unittest.main()
2. 测试类
2.1 各种断言方法
方法 | 用途 |
---|
assertEqual(a, b) | 核实a == b |
assertNotEqual(a, b) | 核实a != b |
assertTrue(x) | 核实x == True |
assertFalse(x) | 核实x == False |
assertIn(item, list) | 核实item在list中 |
assertNotIn(item, list) | 核实item不在list中 |
2.2 一个要测试的类
class Animal:
def __init__(self, name):
self.name = name
def show_name(self):
print("Name: " + self.name)
2.3 测试类
import unittest
class Animal:
def __init__(self, name):
self.name = name
def show_name(self):
print("Name: " + self.name)
return self.name
class TestAnimal(unittest.TestCase):
def test_get_name(self):
self.assertEqual("ABC", Animal("abc").show_name())
if __name__ == "__main__":
unittest.main()