2011-05-28 44 views
4

我使用由maven自動安裝的junit。當我運行maven測試時,我的測試工作正常。但是當我調用Eclipse JUnit測試時,它不使用當前版本的測試類。junit不使用最新的文件

例如如果我將assertTrue()更改爲assertFalse(),我會得到相同的結果。這真讓我抓狂。

該項目的自動構建已打開。爲什麼JUnit使用一些舊的垃圾?

感謝您的幫助。 maven clean和eclipse clean修復了這個問題。奇怪...

+3

似乎是IDE的一個問題。清除輸出目錄並重建整個項目。 – Premraj 2011-05-28 11:19:10

+0

JUnit不會選擇版本,eclipse會。 – 2011-05-28 11:27:55

+0

您是否在項目菜單中啓用了「自動生成」? – Wolfgang 2011-05-28 16:39:46

回答

2

大多數Maven可以編譯爲./target/classes,而Eclipse通常編譯爲./bin/classes。

您應該嘗試使用Eclipse的http://m2eclipse.sonatype.org/插件,這有助於緩解Maven和Eclipse之間的差異。

1

因此,轉到maven從junit存儲庫中複製junit文件的目錄,然後檢查junit版本。 所以在那之後,在eclipse下右鍵單擊你的項目,然後選擇「Buildpath」>「add library」,然後選擇「Junit」,然後選擇「junit version」tehn continue。 清理完你的項目後,建立它,最後啓動它。

0

我有同樣的問題,並設法通過在項目屬性下的「Java構建路徑」中手動輸入合適的編譯測試輸出文件夾來解決它。

在我的情況下,我想讓測試以./target/test-classes結尾。

我認爲它一開始並不工作,因爲Eclipse會將編譯的測試放在錯誤的文件夾(.bin/classes)或默認輸出文件夾(./target/classes)中。

相關問題