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

在这里插入图片描述

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐