我仍然在学习Python测试,无法找到这个问题的直接答案。
我正在使用python来驱动我的应用程序上的selenium测试。我用Nose运行测试套件。
有些测试很关键,必须通过才能接受代码签入。其他测试有时会因我们无法控制的因素而失败,并且并不重要。
是否有一个标准的鼻子插件可以让我指定哪个测试不重要,并给我一个分析报告?或者是否有其他标准方法可以做到这一点?
答案 0 :(得分:3)
您始终可以使用attrib插件并使用@attr('critical')
装饰您的关键测试
在您的CI中,运行鼻子两次,一次使用-a critical=True
(并在其上调整签入/部署)和-a critical=False
。
答案 1 :(得分:2)
首先,让测试“因为它们不重要而被允许失败”可能是一个坏主意。 您应该尽可能地减轻外部因素的影响,并且拥有一个允许您始终如一地运行测试的环境,尤其是重现您可能发现的任何错误。
那就是说,现实与理论有很大不同,所以我们走了:
是否有标准的鼻子插件可以指定哪个 测试并不重要,并给我一份报告说明了这一点?
不,列表不在其网站上提到的built-in plugins或third-party plugins之列。
或者还有其他标准方法吗?
对于pyunit
(以及nose
),测试只能通过或失败;两者之间什么也没有。
为了在查看测试结果时获得更好的概述,我会将这些测试保存在一个单独的测试套件中,独立于常规的“必须通过”测试。
此外,如果允许这些不重要的测试失败而不阻止签到,那么对我来说,他们的 执行 也应该是可选的。