python unittest单元测试的步骤分析
说明
1、导入unittest模块。
2、导入被测对象。
3、创建测试类unittest.TestCase。
4、重写setUp和tearDown(如果有初始化和结束)
5、以函数的形式写测试项目:函数名以test_开头。
6、unittest运行测试用例。
实例
import unittest class LoginCheckTest(unittest.TestCase): def setUp(self) -> None: print("每条用例") def test_login(self): self.assertEqual(0, login_check('lemon','123456').get('code')) def test_password_error(self): self.assertEqual(1,login_check('lemon','8888222').get('code')) def test_user_error(self): self.assertEqual(1, login_check('aaaabc', '123456').get('code')) if __name__ == '__main__': unittest.main()
实例扩展:
python unittest单元测试实例
import unittest class MyTest(unittest.TestCase): # 继承unittest.TestCase def tearDown(self): # 每个测试用例执行之后做操作 print('111') def setUp(self): # 每个测试用例执行之前做操作 print('22222') @classmethod def tearDownClass(self): # 必须使用 @ classmethod装饰器, 所有test运行完后运行一次 print('4444444') @classmethod def setUpClass(self): # 必须使用@classmethod 装饰器,所有test运行前运行一次 print('33333') def test_a_run(self): self.assertEqual(1, 1) # 测试用例 def test_b_run(self): self.assertEqual(2, 2) # 测试用例 if __name__ == '__main__': unittest.main()#运行所有的测试用例
生成一个测试报告
import HTMLTestRunner import unittest class MyTest(unittest.TestCase):#继承unittest.TestCase def tearDown(self): #每个测试用例执行之后做操作 print('111') def setUp(self): #每个测试用例执行之前做操作 print(22222) def test_run(self): # self.assertEqual(1,1) self.assertIs(1,1) #测试用例 def test_run2(self): # self.assertEqual(1,1) self.assertIs(1,1) #测试用例 def test_run3(self): # self.assertEqual(1,1) self.assertIs(1,1) #测试用例 def test_run1(self): # self.assertEqual(1,1) self.assertIs(1,1) #测试用例 if __name__ == '__main__': test_suite = unittest.TestSuite()#创建一个测试集合 test_suite.addTest(MyTest('test_run1'))#测试套件中添加测试用例 #test_suite.addTest(unittest.makeSuite(MyTest))#使用makeSuite方法添加所有的测试方法 fp = open('res.html','wb')#打开一个保存结果的html文件 runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='api测试报告',description='测试情况') #生成执行用例的对象 runner.run(test_suite) #执行测试套件
到此这篇关于python unittest单元测试的步骤分析的文章就介绍到这了,更多相关python unittest单元测试的过程内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!
【原URL http://www.nextecloud.cn转载请说明出处】