当testng测试失败时MVN构建失败

时间:2019-12-02 02:14:46

标签: java maven automation testng

我有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结果失败时构建也会失败?我该如何解决这个问题?

2 个答案:

答案 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>