首页 > 解决方案 > 如何在teamcity中显示带有跳过测试原因的消息?

问题描述

我在 TeamCity 上运行 ui 自动化测试(java+maven+junit4)。还有一些测试由于某些原因被忽略了。所以我试图将这些原因传递给teamcity的结果。 它在teamcity上的外观

通过使用 Assume.assumeFalse 忽略测试 - 例如

Assume.assumeFalse("some message which I'd like to see on teamcity", false);

然后最后有跳过测试的特殊块

protected void skipped(AssumptionViolatedException e, Description description) {

        logger.info("##teamcity[testMetadata name='Reason' value='" + e.getMessage() +"']");
    }

早些时候,我尝试过仅使用带有简单文本的 logger.info,但似乎没有将任何内容写入日志以进行跳过的测试。所以我已经尝试了上面的代码 - 将消息作为元数据传递 - 它是最新版本的 teamcity 中可用的功能(那里有更多信息),但它仍然没有帮助。

也许有人有一些想法我该如何实现?或者甚至有可能吗?

标签: selenium-webdriverjunitteamcityjunit4teamcity-9.0

解决方案


如果您真的想忽略一些测试,那么您应该使用@IgnoreJunit 注释。Reason 也可以作为参数传递给这个注解。

此注解可用于忽略测试方法和整个测试类。

以下是使用此注释的一些好处。

要检查,如何使用这个注解,请参考以下链接:

http://junit.sourceforge.net/javadoc/org/junit/Ignore.html

https://www.mkyong.com/unittest/junit-4-tutorial-3-ignore-test/


推荐阅读