为了账号安全,请及时绑定邮箱和手机立即绑定

一个鼻子插件来指定单元测试执行的顺序

一个鼻子插件来指定单元测试执行的顺序

PIPIONE 2021-03-27 09:15:54
我希望使用Nose进行在线集成测试套件。但是,其中一些测试的执行顺序很重要。就是说,我以为我会把一个快速插件扔在一起,用我想要执行的顺序来装饰测试:https : //gist.github.com/Redsz/5736166def Foo(unittest.TestCase):    @step(number=1)    def test_foo(self):        pass    @step(number=2)    def test_boo(self):        pass通过查看我曾经想到的内置插件,我可以简单地loadTestsFromTestCase按修饰的“步骤编号”覆盖和排序测试。:def loadTestsFromTestCase(self, cls):    """    Return tests in this test case class. Ordered by the step definitions.    """    l = loader.TestLoader()    tmp = l.loadTestsFromTestCase(cls)    test_order = []    for test in tmp._tests:        order = test.test._testMethodName        func = getattr(cls, test.test._testMethodName)        if hasattr(func, 'number'):            order = getattr(func, 'number')        test_order.append((test, order))    test_order.sort(key=lambda tup: tup[1])    tmp._tests = (t[0] for t in test_order)    return tmp该方法以我想要的顺序返回测试,但是当通过鼻子执行测试时,它们不是按照该顺序执行吗?也许我需要将这种订购概念转移到其他位置?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信