0

私は、Grails 1.xx リリースからアップグレードされたと思われる Grails プロジェクトを取り上げました。

Grails CLI を使用すると、コードをコンパイルして WAR をビルドできますが、「grails test-app -unit」コマンドを実行すると、テストの 2 分の 1 以上が失敗します。

GGTS 内で JUnit テストを実行すると、テストに合格します?!?!?。上記の Grails コマンドを GGTS 内で実行すると、上記で強調したのと同じエラーが発生します。

主な失敗の理由は 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
  • グルービー 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 に答える