unit单元测试框架使用方法一:
- 直接调用已有的测试用例类运行:
- UnittestA.py文件:
import unittest class myut(unittest.TestCase): @classmethod # 类方法,结束测试调用一次 def tearDownClass(cls): print("tearDownClass.") @classmethod # 类方法,开始测试调用一次 def setUpClass(cls): print("setUpClass.") # 每个测试用例执行后调用一次 def tearDown(self): print("tearDown.") # 每个测试用例执行前调用一次 def setUp(self): print("setUp.") # @unittest.skip("jump A") def test_A(self): '''测试A描述''' # print("test_A") print(self.id()) self.assertEqual(1, 1, msg="ERROR......") def test_B(self): '''测试B描述''' print(self.id()) self.assertEqual(2, 2)
- 执行用例脚本文件Mytest.py
- Mytest.py
import unittest import HTMLReport #pip install HTMLReport 下载 if __name__ == "__main__": testsuite = unittest.TestSuite() testsuite.addTest(myut("test_B")) # 添加的测试会被执行 testsuite.addTest(myut("test_A")) runner = HTMLReport.TestRunner(output_path="f:\result") #生成测试报告 run = HTMLReport.TestRunner() result = runner.run(testsuite) print("{}".format("*"*20)) print(result.success_count)
unit单元测试框架使用方法二,调用目录下测试脚本内的测试用例:
- 测试脚本文件:Test_B.py
- Test_B.py
import unittest class testb(unittest.TestCase): def test_X(self): print(self.id()) def test_Y(self): print(self.id()) def test_Z(self): print(self.id())
调用脚本:
import unittest import HTMLReport if __name__ == "__main__": start_dir = "./" testload = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern="test_*.py") #查询当前目录下测试类 runner = HTMLReport.TestRunner(output_path="f:\result") #生成测试报告 result = runner.run(testload) print("{}".format("*"*20)) print(result.success_count)