2011-03-23 140 views
0

使用JUnit的assumeTrue,你可以跳過一個測試,但是有什麼方法可以告訴JUnit測試已經被跳過了嗎?它似乎只是報告,測試已通過......報告忽略測試,並在JUnit中獲取實時報告?

此外,有沒有辦法在@After方法檢測,如果有任何測試失敗?

E.g.

@After 
public void tearDown() { 
    //.... How many tests passed and how many failed? 
} 

我知道這個信息在年底,所有的測試報道,但我希望能夠訪問它在@After功能。

+0

對不起,請問爲什麼? – khmarbaise 2011-03-23 11:27:12

+0

我猜你指的是第2點...它的用戶能力改進,記錄當前的統計數據,因爲測試正在運行。如果測試套件需要運行10分鐘以上,那麼這很有用......它很高興知道早期是否出現故障。 – mrwooster 2011-03-23 11:30:21

+0

如果你的測試很慢,你必須讓它們更快。這聽起來更像是集成測試,而不是單元測試... – khmarbaise 2011-03-23 11:31:44

回答

0

此外,是否有任何方法來檢測@After方法,如果任何測試失敗?

您可以實現自己的測試運行:

@RunWith(MyRunner.class) 

@see:org.junit.runners.BlockJUnit4ClassRunner

或者你可以看看TestDecorators(使用JUnit 4.7)junit的。 extensions.TestDecorator。這聽起來像你需要的東西,但我沒有與期限。