maven surefire:如何打印当前测试 运行?
maven surefire: how to print current test being run?
有没有办法让 maven surefire 打印它开始的每个单元测试(即测试方法)的名称?
类似于:
testFoo: ... passed
testBar: ... failed
有点牵强,但您可以实施 RunListener and add it to surefire. See how to configure it here。
详情
package com.example.mavenproject;
import org.junit.runner.Description;
import org.junit.runner.Result;
import org.junit.runner.notification.RunListener;
/**
* @author Paul Verest
*/
public class PrintOutCurrentTestRunListener extends RunListener {
@Override
public void testRunStarted(Description description) throws Exception {
// TODO all methods return null
System.out.println("testRunStarted " + description.getClassName() + " " + description.getDisplayName() + " "
+ description.toString());
}
public void testStarted(Description description) throws Exception {
System.out.println("testStarted "
+ description.toString());
}
public void testFinished(Description description) throws Exception {
System.out.println("testFinished "
+ description.toString());
}
public void testRunFinished(Result result) throws Exception {
System.out.println("testRunFinished " + result.toString()
+ " time:"+result.getRunTime()
+" R"+result.getRunCount()
+" F"+result.getFailureCount()
+" I"+result.getIgnoreCount()
);
}
}
并在 pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>com.example.mavenproject.PrintOutCurrentTestRunListener</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
或者,您可以 运行 maven 在调试模式下使用 --debug
或 -X
标志
有没有办法让 maven surefire 打印它开始的每个单元测试(即测试方法)的名称?
类似于:
testFoo: ... passed
testBar: ... failed
有点牵强,但您可以实施 RunListener and add it to surefire. See how to configure it here。
详情
package com.example.mavenproject;
import org.junit.runner.Description;
import org.junit.runner.Result;
import org.junit.runner.notification.RunListener;
/**
* @author Paul Verest
*/
public class PrintOutCurrentTestRunListener extends RunListener {
@Override
public void testRunStarted(Description description) throws Exception {
// TODO all methods return null
System.out.println("testRunStarted " + description.getClassName() + " " + description.getDisplayName() + " "
+ description.toString());
}
public void testStarted(Description description) throws Exception {
System.out.println("testStarted "
+ description.toString());
}
public void testFinished(Description description) throws Exception {
System.out.println("testFinished "
+ description.toString());
}
public void testRunFinished(Result result) throws Exception {
System.out.println("testRunFinished " + result.toString()
+ " time:"+result.getRunTime()
+" R"+result.getRunCount()
+" F"+result.getFailureCount()
+" I"+result.getIgnoreCount()
);
}
}
并在 pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>com.example.mavenproject.PrintOutCurrentTestRunListener</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
或者,您可以 运行 maven 在调试模式下使用 --debug
或 -X
标志