通过maven运行testng测试时更改控制台输出

时间:2014-06-16 14:40:41

标签: java maven testng

我正在使用:mvn testmvn test -Dtest=<Class-Name>mvn test -Dgroups=<groups...>通过maven运行TestNG测试。

我想要存储在文件中的测试中有很多输出,但我需要的控制台输出如下:

TestA.test1 - 通过了 TestA.test2 - 失败
TestB.test11 - 通过

我实现了一个实现ITestListener并放入System.out.println(message)的监听器; 为每种方法提供合适的消息。 在pom.xml中我添加了一个插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <properties>
            <property>
                <name>listener</name>
                <value><my listener full name class></value>
            </property>
        </properties>
    </configuration>
</plugin>

但似乎没有任何回应,同样的输出不断进入控制台。

知道我在这里做错了什么吗?我希望通过mvn test继续运行我的测试,但是将输出更改为更有条理。

1 个答案:

答案 0 :(得分:0)

如果您希望该侦听器适用于每个测试,那么您在测试类中导入错误。你的pom.xml应该是这样的:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <properties>
                    <property>
                        <name>usedefaultlisteners</name>
                        <value>false</value>
                    </property>
                    <property>
                        <name>listener</name>
                        <value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter
                        </value>
                    </property>
                </properties>
            </configuration>
        </plugin>

您应该禁用默认侦听器以使用自定义侦听器。