这篇文章将为大家详细讲解有关关于Python中unittest的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
基本使用
import unittest class Testcase(unittest.TestCase): @classmethod def setUpClass(cls): pass @classmethod def tearDownClass(cls): pass def setUp(self): pass def tearDown(self): pass def test01(self): print("01") def test02(self): print("02") if __name__ == "__main__": unittest.main()
断言的使用
unittest的执行顺序:
并不是按照代码顺序,而是按照函数名称顺序;
通过添加执行的顺序
if __name__ == "__main__": #unittest.main() suite = unittest.TestSuite() ''' suite.addTest(TestCase01('test_06')) suite.addTest(TestCase01('test_04')) suite.addTest(TestCase01('test_02')) suite.addTest(TestCase01('test_05')) suite.addTest(TestCase01('test_01')) suite.addTest(TestCase01('test_07')) ''' tests =[TestCase01('test_06'),TestCase01('test_02'),TestCase01('test_03'),TestCase01('test_05'),TestCase01('test_01')] suite.addTests(tests) runner = unittest.TextTestRunner() runner.run(suite)
unittest中套件的运用
有多个测试脚本py文件时,需要一次性执行测试脚本
import unittest import sys sys.path.append("dir")添加当前工程目录 from Unittest.test_case01 import Testcase01 from Unittest.test_case01 import Testcase02 testcase01 = unittest.TestLoader().loadTestsFromTestCase(Testcase01) testcase02 = unittest.TestLoader().loadTestsFromTestCase(Testcase02) suote = unittest.TestCase([testcase01,testcase02]) unittest.TextTestRunner().run(suote)
unittest 中条件控制跳过case
@unittest.skip("这个case不执行") def test_07(self): print("执行case07") flag = "adfadfadfadfadsfaqeewr" s = "fads" self.assertIn(s, flag, msg="不包含") @unittest.skipIf(4==5,"执行") def test_01(self): print("执行case01") # res = requests.get(url=url,params=data).json() data1 = { "user": "11111" } self.assertDictEqual(data1, data)
unittest中case的批量管理
import unittest import sys import os sys.path.append("dir")添加当前工程目录 from Unittest.test_case01 import Testcase01 from Unittest.test_case01 import Testcase02 case_path = os.getcwd() + '/Unittestcase' discover = unittest.defaultTestLoader.discover(case_path) unittest.TextTestRunner().run(discover)
关于关于Python中unittest的案例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。