2012-02-23 234 views
1

我有一個測試類,它被命名爲xxxTest.java所以如果找到測試類。但是當我執行mvn test時,班級內的單元測試不運行。mvn測試未找到JUnit測試

我正在使用JUnit 4,測試方法的註釋是@Test。例如。

@Test 
public void shouldDoSomeAsserting() { 
    // unit test impl 
} 

如果我重命名的測試方法,因此是名testShouldDoSomeAsserting()然後mvn test確實發現和執行單元測試。

我的印象是,當我使用@Test時,只要該方法是公開的而且無效的,它就會被認爲是測試方法。

我錯過了什麼嗎?

謝謝。

+0

你是否在你的pom.xml中修改了'maven-surefire-plugin'的配置? – 2012-02-23 09:05:58

回答

2

你確定你在使用JUnit 4嗎?這聽起來像JUnit 3的行爲。

我做了一個最小的樣本項目,我無法重現您的問題。測試按預期運行。

示例項目是在這裏:https://gist.github.com/1888802

也許你可以從中得到某種暗示。

+0

是的,100%,我用4.7來確切。 – C0deAttack 2012-02-23 10:58:43

+0

您的測試類是否擴展了TestCase? – 2012-02-23 11:29:33

+0

不,我使用@RunWith所以沒有必要。我想通了,看看我的答案。 – C0deAttack 2012-02-24 09:13:15