0

コントローラーの単体テストを行っていますが、現在、サービス内の「encodeAsJSON()」のメソッド呼び出し (コントローラーによって呼び出されます) に行き詰まっています。

encodingAsJSON() は Grails-Codec であるため、MissingMethodException が発生します。

少し検索した後、loadCodec-Method は私が望むことをするはずです。

しかし、IDE (SpringSource-ToolSuite) が見つからないため、インポートできません。

エラー:

import org.codehaus.groovy.grails.plugins.codecs.JSONCodec

すべてが機能します:

import org.codehaus.groovy.grails.plugins.codecs.HTMLCodec

しかし、私は HTMLCodec を必要とせず、ドキュメントには JSONCodec がリストされていません。

メソッド自体はまだ機能しています (アプリケーションを実行しています) が、単体テストの方法がわかりません。何か案は?明らかな何かが欠けていますか?

4

1 に答える 1

2

さて、さらに検索して試してみると、答えが得られました:

Map.metaClass.encodeAsJSON = { -> delegate }

私が使用した例は

String.metaClass.encodeAsSha1 = { -> delegate }

出典

文字列は機能しませんでした-もちろん、JSONに変換する必要があるマップを使用しているためです。

対応するデータ型のGroovy-Interfaceで「モック」する必要があると思います(これは実際のモックですか?)。

これが他の誰かに役立つことを願っています

于 2012-07-12T19:39:41.123 に答える