我在升級從Grails的1.3.7應用程序2.2Grails的1.3.7中的Grails 2.2升級,單元測試失敗,現在缺少格姆方法
中旬至今,它一直是相對無痛和直線前進。
直到我們開始運行單元測試。
在1.3.7下,所有的測試都通過了。
2.2以下,大約一半現在失敗。測試沒有改變,他們仍然是老式的mockDomain ...
什麼是最讓我感興趣的是,基本的gorm功能在某些域類中缺失。
之類的東西.LIST和不用彷徨
失敗:testList_NoMaxSpecified_10Shown(com.litle.bldvwr.StreamControllerTests) | groovy.lang.MissingMethodException:沒有方法的簽名:> com.litle.bldvwr.Stream.list()適用於參數類型:()values:[] 可能的解決方案:list(),list(),list() ,列表(java.lang.Object中),列表(java.util.Map),>列表(java.lang.Object中)
和
失敗:> testAddFailureOutputToHappyPathWithIntegrationFailure(com.litle。 bldvwr.LogParserServiceTests) | groovy.lang.MissingMethodException:沒有方法的簽名:> com.litle.bldvwr.Result.get()適用於參數類型:()values:[] 可能的解決方案:get(java.io.Serializable),get java.lang.Object)> get(java.io.Serializable),getId(),grep(),grep(java.lang.Object)
這種類型的失敗的一般模式是:
mockDomain(Phase, [new Phase(id:1, name: 'xxx')])
mockDomain(Result, [new Result(id:1, phase: Phase.get(1), failureOutput:"")])
logParserService.addFailureOutputTo(Result.get(1))
最後得到的是導致沒有簽名的錯誤。儘管我們打算開始使用新的單元測試功能,但我希望避免重寫500多個當前的測試。
想法,想法?
-Clark
必須顯式分配id是由於某些字段不再可以從構造函數映射默認綁定。 –