python-unittest

匿名 (未验证) 提交于 2019-12-02 22:51:30


  • TestCase是一个测试用例,一个完整的测试用例包括:测试前准备setUp、测试执行代码run、测试后环境还原tearDown。
  • TestSuite,是多个测试用例的集合,测试套件TestSuite可以嵌套测试套件。
  • TestLoader加载用例到TestSuite;
  • TextTestRunner执行测试用例,保存测试结果到TextTestResult中。
  • Test fixture是一个用例环境的搭建和销毁过程。

1、测试用例执行过程:

测试用例Testcase完成后,使用TestSuite的TestLoader方法加载到测试套件, 然后有TextTestRunner运行测试套件,把测试结果保存在TextTestResult中,,每一个测试方法都必须以test开头,否则不会被unittest识别, 在测试执行过程中,我们使用到一个参数:verbosity(0-不输出每一项执行结果、1-输出每一个测试结果、2-输出详细执行结果。)

2、测试断言:


3、uniitest


  • 三种跳过用例执行方法: a、unittest.skip(msg) 直接跳过用例执行,不进行条件判断; b、unittest.skipIf(condtion) 满足条件不执行 c、unittest.skipUnless(condtion) 满足条件才执行
  • 加载测试套件Suite
    import os import unittest  # 实例化测试套件 suite = unittest.TestSuite()  # 获取case目录以下所有test开头的测试用例文件 case_path = os.path.join(os.getcwd(), "case") discover = unittest.defaultTestLoader.discover(case_path, pattern="test*.py", top_level_dir=None) suite.addTests(discover)   # 获取目录case1和目录下case2测试用例文件 suite.addTest()  # 使用makeSuite方法添加类或类下以test开头的测试用例 suite.addTests(unittest.makeSuite(testclassname, 'test')) suite.addTests(unittest.makeSuite(testclassname))  # 直接添加测试类中test开头的测试方法 suite.addTests(testclassname('test'))  # 使用defaultTestLoader添加测试用例 # 使用testclass加载测试用例 unittest.TestLoader().loadTestsFromTestCase(testclass) # 使用testmodule加载测试用例 unittest.TestLoader().loadTestsFromModule(modulename) # 字符串为使用模块、类、用例名称加载,注意路径完整性 unittest.TestLoader().loadTestsFromName('str') # 字符串列表为使用模块、类、用例名称加载,注意路径完整性 unittest.TestLoader().loadTestsFromNames('list')  














【参考】:https://huilansame.github.io/huilansame.github.io/archivers/python-unittest

文章来源: python-unittest
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!