python中unittest的使用

基本使用
import unittestclass 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 unittestimport syssys.path.append("dir")添加当前工程目录from Unittest.test_case01 import Testcase01from Unittest.test_case01 import Testcase02testcase01 = 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 unittestimport sysimport ossys.path.append("dir")添加当前工程目录from Unittest.test_case01 import Testcase01from Unittest.test_case01 import Testcase02case_path = os.getcwd() + ‘/Unittestcase‘discover = unittest.defaultTestLoader.discover(case_path)unittest.TextTestRunner().run(discover)

相关推荐