いくつかの単体テストのために、ビルダーの複雑なメソッドをオーバーライドしようとしています。これはWebサービスリクエストビルダーであるため、ビルダークラスには。という名前のリクエストタイプのインスタンス変数がありますrequest。
だから私はこれをやろうとしています:
def mockBuilder = [complexMethod:{request.setAnAttribute(it)}] as MyBuilder
単体テストを実行すると、メソッドが欠落している例外が発生します
No such property: request for class:com.xx.etc.MyBuilderTest
私は最初に行くようにthis.request設定しようとしました(私はそれがクラスだと思っていましたが、それはうまくいきませんでした)。resolveStrategydelegateMyBuilder
これがインスタンス化されているとき、 (クラスの変数を初期化する)mockBuilderのデフォルトコンストラクターを呼び出していることを知っているので、どこかで変数が利用可能であると想像しますが、それを見つけるのに苦労しました。MyBuilderrequestrequest