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)

 

posted @ 2018-01-08 22:05  银荡的那一夏  阅读(326)  评论(0)    收藏  举报