2012-03-12 3 views
1

問題: Grails 1.3.7からGrails 2.0にアップグレードしました。 多くの問題を処理した@TestFor(コントローラ)とMock(ドメイン)というアノテーションを使用するためにコントローラテストをリファクタリングする必要がありました。 しかし、1.3.7のcontroller.renderArgsとcontroller.redirectArgsが利用可能でした。これはもはや2.0では当てはまりそうではありません。これらの非常に便利な変数をどのようにしてデータを得るかを考えるのは難しい時です。Grails 2.0 - コントローラのアップグレードレンダリングとレンダリングの失敗

このデータは、this Grails Jira postingに基づいて提供されないようです。 Grails 2.0のコントローラユニットテストでは、アクション、ID、パラメータなどのrenderArgsをどうやって得ることができますか?答えはないJames Langの最後のコメントは、私の正確な質問です。

のJIRAコメントのみ電源入力response.redirectUrl

に任意のアイデアを得るために?

答えて

0

現時点では表示されません。私はthis forum postを見ました。そこではGraemeが返答し、機能要求を受け取ると述べました。

+0

問題を考えてみましょうが、その後上げ。投稿していただきありがとうございます。 –

2

Graemeさんによる更新と投稿へのリンクありがとうございます。

この問題に対する私たちのソリューションは、これらの変数に到達するためにコントローラをメタクラス化することでした。 私は、対応するメンバー変数を作成し、ユニットテストのセットアップに次のコードを追加しました:これは多くのリファクタリングを引き起こしたので、

controller.metaClass.redirect = { Map map -> 
     redirectAction = map.action 
     redirectID = map.id 
     redirectUrl = map.url 
    } 

    controller.metaClass.render = {Map map -> 
     renderView = map.view 
     renderModel = map.model 
    } 
関連する問題