2014-10-27 62 views
1

每當我進入Grails命令:test-app我得到這個錯誤:Grails的2.4.0 - 錯誤:ClassNotFoundException的:grails.plugin.spock.test.GrailsS​​pecTestType

Error executing script TestApp: java.lang.ClassNotFoundException: grails.plugin.spock.test.GrailsSpecTestType (Use --stacktrace to see the full trace)

在我BuildConfig.groovy我有:

grails.project.dependency.resolution = { 
    ... 
    plugins { 
     ... 
     compile ":spock:0.7" 
    } 
} 

我試過用test ":spock:0.7"代替它。我也嘗試清理應用程序和刷新依賴關係,但沒有運氣。

任何想法它可能是什麼,我該如何解決它?

謝謝

+0

你試過最新版本的Grails嗎? 2.4.3?他們修復了很多錯誤! – Marcin 2014-10-27 21:25:12

+0

我有同樣的問題。但我正在運行grails 2.3.9。你知道我能在這種情況下做什麼嗎? – Igor 2015-06-19 18:09:47

回答

2

使用Grails 2.4.0,您無需在BuildConfig.groovy中提及Spock。請參閱示例項目https://github.com/jeffbrown/spockdemo

如果可以,你應該看看升級到2.4.x行的最新版本。自2.4.0發佈以來,一些問題已得到解決。

我希望有幫助。

+0

感謝您的意見。不幸的是,我使用的代碼與最新版本的Grails不兼容,因此升級不是一個選項。還有其他建議嗎? – 2014-10-30 09:01:29

+0

上面鏈接的項目顯示瞭如何在2.4.0中執行此操作。你不需要在你的BuildConfig.groovy中提及Spock。 – 2014-10-30 13:28:19

1

@zzKozak是正確的 - 你應該升級。這裏沒有關係,但是在你問其他人尋求幫助解決問題之前,在你的次要版本(在本例中爲2.4.3)中獲得最新版本的Grails應該會發生,而這個問題本可以通過簡單的升級來解決。

在2.4中,默認情況下Grails會切換到Spock測試,並且您必須卸載舊插件,因爲它們不兼容。在BuildConfig.groovy中刪除該行,並將您的基類更改爲新的Grails/Spock基類的核心。對於集成查詢,請使用grails.test.spock.IntegrationSpec。有關單元測試和更多信息,請查看文檔中的測試部分:http://grails.org/doc/latest/guide/testing.html

+1

「簡單升級」在企業環境中並不一定很簡單。你不現實。 – 2015-04-16 19:00:56

相關問題