2011-03-29 38 views
9

當我從命令提示符運行mvn測試時,它不顯示在構建結束時哪些測試失敗。不應該在測試中列出錯誤的測試?我使用Windows XP :(和我在命令提示符下console2試圖Maven未在命令提示符下顯示哪些測試失敗

結果:

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] ------------------------------------------------------------------------ 

回答

4

我遇到過這個問題,使用Maven 3.0.3和版本2.8的maven-surefire插件。在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> 

一旦設置了此選項,您應該可以在命令行輸出中看到完整的測試結果列表(包括失敗)。根據the Surefire documentation,當此選項設置爲false時,仍會列出失敗的測試用例,但在我的設置中似乎不是這種情況。

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版本。