2011-03-08 134 views
3

我使用IntelliJ 10.0.2開發Grails項目。從Grails視圖中,如果我右鍵單擊MyIntegrationTest.groovy並單獨運行它(通過從右鍵菜單中選擇「MyIntegration ...」),其中的測試通過。當我使用「運行Grails目標」功能並指定「test-app」時,此類中的測試也會通過。但是,如果我右鍵單擊測試:集成並選擇運行「所有測試」,則MyIntegrationTest中的某些測試會失敗,因爲不會注入依賴關係。測試運行的速度也表明Spring應用程序上下文沒有被創建。有沒有辦法從IntelliJ內部運行所有集成測試(或所有集成&單元測試),而不使用Grails命令行?從IntelliJ運行Grails集成測試

在此先感謝!

+0

不,聽起來像你的環境中的東西已關閉。如果我右鍵單擊集成測試目錄並選擇運行「Grails測試:集成」,所有測試運行... – hvgotcodes 2011-03-08 16:37:32

+0

您是在項目視圖還是grails視圖中執行此操作? – 2011-03-08 19:10:01

回答

3

使用Intellij,您可以選擇將測試作爲Grails運行:集成,Grails:單元測試或將它們作爲普通的單元測試運行。如果您選擇運行單元測試,它將僅適用於測試/單元,並且不會爲集成創建彈簧上下文。右鍵單擊測試/單元並選擇Run-> Grails:unit或右鍵單擊測試/集成並選擇Grails:integration。應該安裝IDEA的Grails插件。

4

如果和我的情況一樣,下面是我解決它的方法。我有一個以.ipr項目風格導入IDEA的grails項目。如果項目主目錄中包含Project.ipr,Project.iws,Project.iml和Project-grailsPlugins.iml文件,則可以檢查項目是否爲.ipr風格。

關閉IDEA,備份(爲了安全,如果出現問題)並刪除這4個文件。然後打開IDEA並選擇新建項目。選擇「從現有來源導入grails項目」,選擇您的來源並確保選擇.idea - 項目樣式。 IDEA應該創建新的項目。一定要檢查Porject結構(Ctrl-Shift-Alt-S) - >項目設置 - >模塊 - >源文件。您應該有兩個目錄測試/單元和測試/集成綠色標記爲測試來源。

如果一切順利,您應該能夠右鍵單擊測試:集成和測試:單元項目目錄。應該運行「Grails測試:集成」和運行「Grails測試:單元」選項,你失蹤了。

+0

當使用「grails integrate-with idea」創建項目配置時,我遇到了與IDEA 10.5.0相同的問題。 Tomasz建議改用.idea格式也適用於我。看起來像是一個Grails集成的問題 - 任務(過時?)還是IDEA 10.5.0中的一個錯誤 – 2011-06-22 16:26:23

+0

根據我的回答,似乎他們已經在10.5.2中更改/修復了這個問題 – Peter 2011-10-07 22:33:34

1

我遇到了一個非常類似的問題,但實際上我在Idea 10.5.2中看到了一個稍微不同的幾乎相反的行爲。我有'.ipr'風格的項目設置。如果我右鍵點擊集成測試類或集成測試包,我只會得到標準的「運行MyIntegrationTests」。 。 「。選項,並根據海報的錯誤信息失敗(而不是根據海報描述的行爲實際觸發整合上下文)。但是,如果我在Grails視圖中右鍵單擊「測試:集成」頂級項目,就可以得到「運行」Grails測試:integr ...「選項,並且它可以很好地工作。

對我來說這很好,我不需要重建我的項目到'目錄'爲基礎的結構。