4

Method私のメソッドは、オブジェクトをパラメーターとして受け入れます。したがって、のモックアップ インスタンスを作成する必要がありますjava.lang.reflect.Method。クラスにはfinalパブリックコンストラクターがなく、パブリックコンストラクターがないことがわかりました。わかった。それで...私が使用する必要がある工場はありますか、それとも...? クラスはパッケージスコープであり、java.lang.reflect.ReflectAccess私が探している種類のファクトリのようです (使用できないという事実を除いて)。ここでの契約は何ですか...?

ええ、いつでも some のインスタンスを取得しClassて random を選択できますMethodが、もっと賢明な方法があると思います...?

前もって感謝します!

4

3 に答える 3

4

反射を使用してみてください。

Constructor c = Method.class.getDeclaredConstructor(Class.class, String.class, Class[].class, Class.class, Class[].class, int.class, int.class, String.class, byte[].class, byte[].class, byte[].class);
c.setAccessible(true);
c.newInstance(....); // send correct arguments

これはうまくいくはずです。

于 2012-05-09T08:59:20.397 に答える
3

ええ、いつでもクラスのインスタンスを取得してランダムなメソッドを選択できますが、もっと賢明な方法があると思います...?

いいえ、それ賢明な方法です。他に意味はありません。クラスの一部ではないメソッドを持つことは何を意味するのでしょうか? それを呼び出すとどうなりますか?

これがテスト用である場合は、この目的専用の適切なメソッドを含むクラスを作成することをお勧めします。

于 2012-05-09T08:52:07.933 に答える
1

メソッドは常にクラス (またはインスタンス) に関連付けられているため、そのクラスからではなくメソッドを取得することに何の意味があるでしょうか?

于 2012-05-09T08:52:32.060 に答える