Spock を使って Java の単体試験などを書いている時に Java側のクラスの private なフィールドをいじりたい時があります。Groovy のソースなら特に問題ないですが、Java 側をいじりたいときは以下のようにします。
1 2 3 |
ClassName.metaClass.setProperty(object,'field name',target) |
ClassName は操作対象となるクラス
Object は、操作するオブジェクト
field Name は操作するフィールド名
target は設定する値
を入れて下さい。