Python unittest控制用例的执行顺序

Posted Aspirantlu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python unittest控制用例的执行顺序相关的知识,希望对你有一定的参考价值。

Python unittest控制用例的执行顺序

……直接上正文

用例的执行顺序和书写次序无关,默认是根据ASCII码的顺序加载测试用例,所以执行顺序如下:

基于unittest的机制,介绍2种控制用例执行顺序的方式:

方式一:

  • 通过修改函数名的方式,这里就不进行演示,推荐方式二。

方式二:

  • 手写一个Loader类并继承TestLoader类,改写里面的排序方法;
  • 在unittest运行的时候传入这个新的Loader。
class MyTestLoader(unittest.TestLoader):
    def getTestCaseNames(self, testcase_class):
        # 调用父类的获取 测试用例方法名 函数
        test_names = super().getTestCaseNames(testcase_class)
        # 取到测试方法list
        testcase_methods = list(testcase_class.__dict__.keys())
        # 根据list的索引对testcase_methods进行排序
        test_names.sort(key=testcase_methods.index)
        # 返回测试用例方法名
        return test_names

以上是关于Python unittest控制用例的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Python unittest控制用例的执行顺序

Python unittest控制用例的执行顺序

Python unittest控制用例的执行顺序

Python unittest控制用例的执行顺序

python unittest控制用例的执行顺序

unittest 10 测试套件( 有选择执行测试方法,测试类,自定义测试用例的顺序 TestSuite)