0

我选择了一个 Grails 项目,我相信它是从 Grails 1.xx 版本升级而来的。

使用 Grails CLI,我可以成功编译代码并构建 WAR,但是当我运行“grails test-app -unit”命令时,超过 1/2 的测试失败。

当我在 GGTS 中运行 JUnit 测试时,测试通过?!?!?。在 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
  • 圣杯 2.2.0
  • Groovy 2.0.5
  • GGTS 3.2.0

任何人都可以解释为什么使用 Grails CLI 测试以这种方式失败,但在作为 JUnit 测试运行时在 GGTS 中运行良好?

4

1 回答 1

0

看起来我可能已经找到了答案

http://jira.grails.org/browse/GRAILS-9550

https://issues.apache.org/jira/browse/GROOVY-5806

于 2013-11-01T20:29:33.977 回答