我有2种不同的测试
public class testcase1 {
@Test
public void testcase1() {
System.out.println("test1 ");
}
@Test
public void testcase2() {
System.out.println("test 2 ");
}
@Test
public void testcase3() {
Assert.assertTrue(false);
}
}
当我在终端中使用mvn clean test
时,它会执行所有测试用例,并混入报告,但其标记为构建失败
这是日志
[ERROR] Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.588 s <<< FAILURE! - in TestSuite
[ERROR] fail1.testcase2.testcase2 Time elapsed: 0.012 s <<< FAILURE!
java.lang.AssertionError: did not expect to find [true] but found [false]
at fail1.testcase2.testcase2(testcase2.java:10)
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] testcase2.testcase2:10 did not expect to find [true] but found [false]
[INFO]
[ERROR] Tests run: 3, Failures: 1, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 59.248 s
[INFO] Finished at: 2019-12-02T07:30:00+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M4:test (default-test) on project neeewdev1: There are test failures.
[ERROR]
[ERROR] Please refer to /home/neeewdev1/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
请您解释一下为什么testng结果失败时构建也会失败?我该如何解决这个问题?
答案 0 :(得分:2)
您正在尝试测试应用程序是否未构建。无论如何,如果您确实要构建它并跳过测试,则应运行
mvn clean install -DskipTest
答案 1 :(得分:2)
在构建生命周期的测试阶段使用Surefire插件来执行应用程序的单元测试
您可以跳过测试,或者即使在测试失败的情况下仍要构建项目,则可以在pom.xml中使用**<testFailureIgnore>true</testFailureIgnore>**
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>