一、待测模块
class MyFunc:
def __init__(self,number,a,b):
self.number = number
self.a = a
self.b = b
def is_prime(slef):
if slef.number < 0 or slef.number in (0, 1):
return False
for element in range(2, slef.number):
if slef.number % element == 0:
return False
return True
def add(slef):
return slef.a + slef.b
def divide(slef):
return slef.a / slef.b
二、编写测试用例
首先需要导入unitest框架和待测模块myfunc,定义的测试用例方法类,需要继承unittest.TestCase,且测试用例方法是以test开头作为标识
class TestMyFunc(unittest.TestCase):
@classmethod
def setUpClass(cls):
print(" do once before all test")
@classmethod
def tearDownClass(cls):
print(" do once before all test")
def setUp(self):
print("do before every test")
def tearDown(self):
print("do after every test")
# 测试用例以test作为开头
def test_is_prime(self):
print("test_is_prime begin")
func = MyFunc(5,2,3)
self.assertTrue(func.is_prime())
print("test_is_prime end")
def test_add(self):
print("test_add begin")
func = MyFunc(5,2,3)
self.assertEqual(5,func.add())
# self.assertEqual(6,func.add())
print("test_add end")
def test_divide(self):
print("test_divide begin")
func = MyFunc(5, 9, 3)
self.assertEqual(3, func.divide())
# self.assertEqual(2, func.divide())
三、mian函数
if __name__ == '__main__':
unittest.main()
# 测试用例执行顺序为 测试用例名称升序
# 执行顺序为 test_add test_divide test_is_prime
四、测试结果