1

Spock プラグインを使用して Grails 2.0.4 コントローラーをテストしようとしています

- - - - - - - - - - コントローラ - - - - - - - - - -

def addComment= {

    def pageCounter=0

    def result=reviewService.addComment(params.copyId,params.comment)

    forward(action: "showPage", model: [copyId: result.copy.id,pageCounter:pageCounter])

}

==================コントローラーテスト===========================

@TestFor(ReviewController)
class ReviewControllerSpec extends ControllerSpec
{

def "test"() {


        setup:
                       -------------

                when:
                       -------------
                       def returnMap=controller.addComment()

                then:
                       mockResponse.forwardedUrl=='/grails/review/showPage.dispatch'


} 

テストはパスしましたが、コントローラーで定義された戻りパラメーターを取得できません

forward(action: "showPage", model: [copyId: result.copy.id,pageCounter:pageCounter])

私を助けて、戻りパラメータを取得する方法とcopyIdpageCounterの Spock Unit Test を教えてください。
コントローラーコードに値 (上記の両方の変数) を出力しましたが、それらにはデータが含まれています。などを調べましたforwardArgs。助けてmockResponseください

4

1 に答える 1

1

メソッドは実際には引数forwardを受け入れません。ドキュメントをmodel参照してくださいforward

現在テストしているクエリ文字列に値が追加される場合に使用できます。paramsforwardedUrl

アクション間でより複雑なデータを渡したい場合は、おそらく、chainリダイレクトする前にモデルをフラッシュ スコープに入れるメソッドを確認する必要があります。

于 2012-09-03T17:06:36.390 に答える