Maven没有在命令提示符下显示哪些测试失败

时间:2011-03-29 14:41:33

标签: testing windows-xp maven

当我从命令提示符运行mvn测试时,它不会显示在构建结束时哪些测试失败。不应该在测试中列出失败的测试错误吗?我正在使用windows xp :(我在命令提示符和console2中尝试过。

结果:

Tests in error:

Tests run: 402, Failures: 0, Errors: 1, Skipped: 2

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to C:\code\btlims\java\chippingmanager\chipping-manager-client\target\surefire-reports for the individual test results.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 27 seconds
[INFO] Finished at: Tue Mar 29 09:19:58 CDT 2011
[INFO] Final Memory: 24M/43M
[INFO] ------------------------------------------------------------------------

2 个答案:

答案 0 :(得分:5)

我使用Maven 3.0.3和maven-surefire-plugin 2.8版遇到了这个问题。在pom.xml的surefire插件部分中,确保printSummary选项设置为 true

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <printSummary>true</printSummary>
            </configuration>
        </plugin>

设置此选项后,您应该在命令行输出中看到完整的测试结果列表(包括失败)。根据{{​​3}},当此选项设置为false时,仍应列出失败的测试用例,但在我的设置中似乎不是这样。

答案 1 :(得分:0)

测试错误是由于例外而退出的测试 测试失败是断言不匹配/通过的测试。

你是对的 - 最后都要报告这两件事。

我试过这种方式

import static org.junit.Assert.fail;
import org.junit.Test;

public class FooBarTest {

    @Test
    public void testError() {
        throw new RuntimeException();
    }

    @Test
    public void testFailure() {
        fail();
    }

}

这会导致以下输出

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running FooBarTest
Tests run: 2, Failures: 1, Errors: 1, Skipped: 0, Time elapsed: 0.09 sec <<< FAILURE!

Results :

Failed tests:
  testFailure(FooBarTest)

Tests in error:
  testError(FooBarTest)

Tests run: 2, Failures: 1, Errors: 1, Skipped: 0

您应该遵循建议并查看target\surefire-reports。也许发布受影响的报告以向我们提供更多信息。

如果可能,可以更新您的maven版本。