以下のように InvocationHandler を実装するクラスがあります。
public class MyProxyClass implements InvocationHandler
{
public Object invoke (Object proxy, Method method, Object[] args) throws Throwable
{
//Do something interesting here
}
}
PowerMock と Mockito を使用して、単体テスト クラスでモック化されたメソッド オブジェクトを渡そうとしています。
@RunWith(PowerMockRunner.class)
@PrepareForTest({Method.class})
public class MyProxyTest
{
MyProxy underTest;
@Test
public void testInvoke() throws Throwable
{
Method mockMethod = mock(Method.class);
//...
}
}
Method がfinal
であるため、@PrepareForTest
トリックを実行しましたが、うまくいかないようです。これは、ブートストラップされているためですか?私はこれについて間違っていますか?
以下のリンクを見てきましたが、決定的なものはありません。
- https://code.google.com/p/powermock/wiki/MockitoUsage13
- https://code.google.com/p/powermock/wiki/MockSystem
- これは、最終クラスのモックを作成するよりも静的メソッドを対象としているようです。