我找到了一個我相信已經從Grails 1.x.x版本升級的Grails項目。在Grails CLI上測試失敗,但在GGTS中沒有測試
使用Grails CLI,我可以成功地獲得編譯的代碼並構建WAR,但是當我運行「grails test-app -unit」命令時,超過1/2的測試失敗。
當我在GGTS內運行JUnit測試時,測試PASS?!?!?.在GGTS中運行上面的Grails命令會產生與上面高度相同的錯誤。
主要失敗原因似乎與GMock,下面的輸出被認爲在各棧跟蹤的頂部:
groovy.lang.MissingMethodException:方法的無簽名:org.gmock.internal.metaclass.MockProxyMetaClass $ 2.doCall()是適用於參數類型:()值:[]
實施例的代碼行,其中該故障會發生的是:
樣品A
aService.dbWrapper = mock()
aService.dbWrapper.getDB().returns(mockDB) // failure on this line
樣品B
aService.anotherService = mock()
aService.anotherService.getSource(ID).returns(SOURCE) // failure on this line
使用以下配置
林:
- GMock 0.8.3
- 的Grails 2.2.0
- Groovy的2.0.5
- GGTS 3.2.0
任何人都可以闡明爲什麼測試以這種方式使用Grails CLI失敗,但在作爲JUnit測試運行時在GGTS中正常工作?