我找到了一个我相信已经从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中正常工作?