2013-08-30 128 views
0

這裏的情況:如何在具有測試依賴性的maven項目中測試intellij中的單個測試模塊?

我有2個模塊,模塊KID取決於模塊父母。 我在PARENT中有一個測試類,可以用於KID來測試類的實現。

要做到這一點,我添加了以下依賴:

<dependency> 
     <groupId>myGroup</groupId> 
     <artifactId>PARENT</artifactId> 
     <version>${project.version}</version> 
     <type>test-jar</type> 
     <scope>test</scope> 
    </dependency> 

與Maven,測試運行良好。

隨着Intellij,(右鍵點擊java測試文件夾+爲KID運行'所有測試'),我得到一個NoClassDefFoundError。問題是來自兩個模塊的測試正在運行,但它只是使用孩子的依賴關係。

在項目家長我有我不KID需要依賴:

<dependency> 
     <groupId>commons-codec</groupId> 
     <artifactId>commons-codec</artifactId> 
     <version>1.8</version> 
     <scope>provided</scope> 
    </dependency> 

的範圍設置爲提供的,而不是測試將解決我的問題,但它允許主代碼使用測試碼。

我可能錯過了什麼?這是一個錯誤?

回答

0

得到了我的答案有:http://youtrack.jetbrains.com/issue/IDEA-112978

這是因爲運行配置是通過模板創建的。 並且該模板具有默認設置以跨模塊依賴關係選擇類。

對於132.46中的我,以下幫助: 1.打開「運行配置」對話框的「默認值」部分。 2.找到相應的模板。我試過JUnit。 3.「測試種類」組合,選擇包中的全部。 4.設置「在單個模塊中」。 5.應用保存模板。

之後,刪除創建的配置並重復「運行所有測試」。它僅爲我選取當前模塊中的類。

IDEA中可能的改進是專門爲基於Maven的項目修改這些默認值。相當具體的變化...

相關問題