一个指定单元测试执行顺序的Nose插件 您所在的位置:网站首页 ug插件imachining 一个指定单元测试执行顺序的Nose插件

一个指定单元测试执行顺序的Nose插件

#一个指定单元测试执行顺序的Nose插件| 来源: 网络整理| 查看: 265

我有一个愿望,希望使用Nose来做一个过线的集成测试套件。然而,其中一些测试的执行顺序是很重要的。

这就是说,我想我将抛出一个快速的插件,用我希望执行的顺序来装饰一个测试。https://gist.github.com/Redsz/5736166

def 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

这个方法按照我希望的顺序返回测试,但是当测试被鼻子执行时,它们并没有按照这个顺序执行?

也许我需要把这个订购的概念移到不同的地方?

更新:按照我的评论,这个插件实际上是按预期工作的。我错误地相信了pycharm的测试报告。测试是按预期运行的。与其删除这个问题,我想我应该把它留下来。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有