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控制用例的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章