unittest参数化

 1 import unittest, HTMLTestRunner
 2 from parameterized import parameterized  # 参数化所需要的模块
 3 
 4 def login(username, passwd):   #  需要测试的方法
 5     if username == 'nidaye' and passwd == '123456':
 6         return True
 7     return False
 8 
 9 
10 class testLogin(unittest.TestCase):
11     @parameterized.expand(       # login 函数的入参参数及预期结果
12         [
13             ('nidaye', '123456', True),
14             ('nidaye', '', False),
15             ('', '', False),
16             ('nidama', '12345', False)
17         ]
18     )
19     def test_Login(self, username, passwd, hope):  # 测试用例, unittest会自动循环执行上面多行参数
20         '''这个是登录'''
21         statu = login(username, passwd)
22         self.assertEqual(statu, hope)  # 断言用例执行结果
23 
24 if __name__ == '__main__':
25     suite = unittest.TestSuite()
26     suite.addTest(unittest.makeSuite(testLogin))
27     fw = open('report.html', 'wb')
28     runner = HTMLTestRunner.HTMLTestRunner(stream=fw, title='nidayetest')
29     runner.run(suite)
原文地址:https://www.cnblogs.com/loayi/p/8245193.html