5
在編寫測試時,我想單獨運行它們。不管怎樣,因爲我已經從默認的Eclipse Java構建器切換到Maven,所以這是不可能的。觀察:今天在Eclipse中使用Maven運行單個JUnit4測試
直到我可以打開一個JUnit測試的源文件,並選擇從工具欄
Run as | JUnit test
。在我遷移到Maven之前,Eclipse在需要時構建了單元測試。自從Maven以來,我得到了一個
ClassNotFoundException
以防我沒有明確地編譯過測試。如果我選擇POM並且做Run as | Maven test
,我可以繞過這個。這將編譯測試並運行所有測試。如果我再次選擇單元測試並從工具欄中選擇
Run as | JUnit test
,它將執行測試。
由於這樣太不方便,我希望「老」行爲回來,我認爲這應該只是一個配置問題。
我
- 閱讀Running a single test in Eclipse,但它描述了一個問題,而無需Maven的。基本上,預期的行爲是我以前的行爲。
- 閱讀Running JUnit tests with Maven under Eclipse是我目前擁有的。我有Surefire,我可以在選擇POM時運行所有的測試。
- 我Surefire version is 2.18
- 轉換我的項目的目錄結構以默認的Maven佈局(它以前是不可能)
- Running a single test in Maven - No tests were executed是不適用的,因爲我想從Eclipse運行測試,而不是命令行。
- [X]建立autmatically啓用
- [X] Maven項目生成器在項目屬性
- 的mailing list配置停止懸而未決
- 瞭解Surefire arguments
我現在放棄了。
如何進行高效的紅綠重構,即一次只運行一個單元測試,而無需爲每個單獨測試添加運行配置?
通常這是可能的。我認爲你的Maven/Eclipse集成有一個配置問題。 Do(Maven和Eclipse)是否都使用相同的目標目錄(即存儲.class文件的位置)? – Jan
@Jan:在Java Build File中,我將「Default output folder」設置爲/ target/classes。除了指向/ target/test-classes的單元測試(src/test/java)之外,源文件夾指向那裏(/ src/main/java,/ src/main/resources)。 –
在我的POM中,我已經刪除了特定的目錄名,所以它也構建到/ target/classes和/ target/test-classes。 –