如何在TeamCity中将Nose测试报告为跳过?

4
我们有一些针对IT技术的nose测试,这些测试运行在TeamCity构建代理上。由于部分测试非常耗时,因此并没有在每次拉取请求中都运行。问题是,这些测试不会被报告为已跳过。它们只是不会出现在TeamCity报告中。
慢速测试标记为:
@attr('nightly')

普通的测试是这样运行的:
nosetests path/to/tests --nocapture --nologcapture -v -a '!nightly'

我可以这样列出未运行的夜间测试:

我可以像这样列出未运行的夜间测试:

nosetests path/to/tests --nocapture --nologcapture -v -a 'nightly' --collect-only

但是这些测试的报告显示运行成功。

我该如何使得测试的报告在Teamcity中显示为已跳过?

--- 更新 ---

我一直在查找,发现我想要更改的部分位于http://nose.readthedocs.io/en/latest/plugins/collect.html?highlight=addSuccess。我希望将其更改为addSkipped,但它已被弃用,因此看起来我应该使用来自http://nose.readthedocs.io/en/latest/plugins/skip.html中的错误类使用addError

我该如何添加这些更改?似乎nosetest不再受到活动维护...

1个回答

1

这个问题无法通过配置解决。您需要修改nose attrib plugin,因为它是负责过滤测试的代码。TeamCity无法访问被过滤掉的测试,因为它们被noestest完全忽略。


我很乐意运行第二遍(如问题所述),选择被过滤掉的测试并将它们报告为跳过。这将避免它们被过滤掉的问题。 - morotspaj
很遗憾,你不能仅通过配置来实现这个。你需要入侵用于报告的teamcity-python桥接器 https://pypi.python.org/pypi/teamcity-messages 或者至少在github存储库中提交请求。 - Nikita Skvortsov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接