版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40188140/article/details/87969747
unittest是单元测试框架,既可以做单元测试,也可以做自动化测试。
1)unittest属性
1.unittest.TestCase:TestCase类,所有测试用例类继承的基本类。
2.unittest.TestSuite():创建测试套件,把多个测试用例集合在一起
3.unittest.makeSuite():一次性加载一个类文件下所有测试用例到suite中去
4.addTest():将测试用例添加到测试套件中。
①
# 把模块test下的类Uicase下的测试用例test_case1添加到测试套件中 test_suite= unittest.TestSuite() test_suite.addTest(test.Uicase('test_case1'))
②
# 使用makeSuite方法添加所有的测试方法 test_suite = unittest.TestSuite() # 创建一个测试集合 test_suite.addTest(unittest.makeSuite(Uicase))
4.run():运行测试套件的测试用例,入参为suite测试套件。
①runner = unittest.TextTestRunner()
runner.run(suite)
②runner = xmlrunner.XMLTestRunner(output='report') # 指定报告放的目录
runner.run(suite)
5.测试用例必须以test开头
2)代码
# -*- coding: utf-8 -* import HTMLTestRunner import unittest import requests import json import xmlrunner # 继承unittest.TestCase class My(unittest.TestCase): # def tearDown(self): # # 每个测试用例执行之前做操作 # print ('每个测试用例执行之前做操作') # # def setUp(self): # # 每个测试用例执行之前做操作 # print ('每个测试用例执行之前做操作') def test_run1(self): self.assertIs(1, 1) print '测试用例1' # 测试用例 def test_run2(self): # self.assertEqual(1,1) self.assertIs(1, 1) # 测试用例 print '测试用例2' def test_run3(self): # self.assertEqual(1,1) self.assertIs(1, 1) # 测试用例 print '测试用例3' def test_run4(self): # self.assertEqual(1,1) self.assertIs(1, 1) # 测试用例 print '测试用例4' if __name__ == '__main__': print '测试是否运行!!!' test_suite = unittest.TestSuite() # 创建一个测试集合 # 测试套件中添加测试用例 #test_suite.addTest(My) test_suite.addTest(unittest.makeSuite(My)) # test_suite.addTest(unittest.makeSuite(MyTest))#使用makeSuite方法添加所有的测试方法 # fp = open('res.html', 'wb') # 打开一个保存结果的html文件 # runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='api测试报告', description='测试情况') runner = xmlrunner.XMLTestRunner(output='report') # 指定报告放的目录 # print xmlrunner # 生成执行用例的对象 runner.run(test_suite)