Python鼻子关键与非关键测试

时间:2014-02-12 01:29:44

标签: python testing nose nosetests

我仍然在学习Python测试,无法找到这个问题的直接答案。

我正在使用python来驱动我的应用程序上的selenium测试。我用Nose运行测试套件。

有些测试很关键,必须通过才能接受代码签入。其他测试有时会因我们无法控制的因素而失败,并且并不重要。

是否有一个标准的鼻子插件可以让我指定哪个测试不重要,并给我一个分析报告?或者是否有其他标准方法可以做到这一点?

2 个答案:

答案 0 :(得分:3)

您始终可以使用attrib插件并使用@attr('critical')装饰您的关键测试

在您的CI中,运行鼻子两次,一次使用-a critical=True(并在其上调整签入/部署)和-a critical=False

答案 1 :(得分:2)

首先,让测试“因为它们不重要而被允许失败”可能是一个坏主意。 您应该尽可能地减轻外部因素的影响,并且拥有一个允许您始终如一地运行测试的环境,尤其是重现您可能发现的任何错误。

那就是说,现实与理论有很大不同,所以我们走了:

  

是否有标准的鼻子插件可以指定哪个   测试并不重要,并给我一份报告说明了这一点?

不,列表不在其网站上提到的built-in pluginsthird-party plugins之列。

  

或者还有其他标准方法吗?

对于pyunit(以及nose),测试只能通过或失败;两者之间什么也没有。 为了在查看测试结果时获得更好的概述,我会将这些测试保存在一个单独的测试套件中,独立于常规的“必须通过”测试。 此外,如果允许这些不重要的测试失败而不阻止签到,那么对我来说,他们的 执行 也应该是可选的。