Pytest Unittest详解与对比
unittest详解
import unittest # 被测方法 class Search: def search_fun(self): print("search") return True # 测试类1 class TestSearch1(unittest.TestCase): @classmethod def setUpClass(self) -> None: print("setUp======类级别") self.search = Search() @classmethod def tearDownClass(self) -> None: print("tearDown======类级别") def setUp(self) -> None: print("setUp======方法级别") def tearDown(self) -> None: print("tearDown======方法级别") def test_search1(self): print("testsearch1") assert True == self.search.search_fun() def test_search2(self): print("testsearch2") assert True == self.search.search_fun() def test_search3(self): print("testsearch3") assert True == self.search.search_fun() def test_equal(self): print("test_equal") self.assertEqual(1, 1, "判断 1==1") def test_notequal(self): print("test_notequal") self.assertNotEqual(1, 2, "判断 1!=2") # self.assertTrue(1==1,"判断1==1") # 测试类2 class TestSearch2(unittest.TestCase): def test_case1(self): print("test_case1") if __name__ == '__main__': # 方法一:执行当前文件所有的unittest测试用例 # unittest.main() # 方法二:创建测试套件,只执行套件中的测试方法 # suite = unittest.TestSuite() # suite.addTest(TestSearch1("test_search1")) # suite.addTest(TestSearch1("test_search2")) # unittest.TextTestRunner().run(suite) #方法三:执行某个测试类 suite1 = unittest.TestLoader().loadTestsFromTestCase(TestSearch1) suite2 = unittest.TestLoader().loadTestsFromTestCase(TestSearch2) suite = unittest.TestSuite([suite1,suite2]) unittest.TextTestRunner().run(suite) #方法四:执行某个文件夹中的测试方法 # testcase_path = "./testcase" # discover = unittest.defaultTestLoader.discover(testcase_path,pattern="test_*.py") # unittest.TextTestRunner().run(discover) #方法五:生成报告 #github:https://github.com/huilansame/HTMLTestRunner_PY3 from HTMLTestRunner_PY3 import HTMLTestRunner report_title = "用例执行测试报告" desc = "用于展示测试后的测试结果数据" report_file = "./report.html" #可以用时间来命名报告 testcase_path = "./testcase" discover = unittest.defaultTestLoader.discover(testcase_path,pattern="test_*.py") with open(report_file, "wb") as report: runner = HTMLTestRunner(stream=report, title=report_title, description=desc) runner.run(discover)
pytest详解
Python单元测试框架pytest - 韩凯1990 - 博客园 (cnblogs.com)
pytest与unittest对比图