Ich habe eine Klasse, die InvocationHandler wie unten implementiert:Wie mimpfe ich die Klasse java.lang.reflect.Method in PowerMockito?
public class MyProxyClass implements InvocationHandler
{
public Object invoke (Object proxy, Method method, Object[] args) throws Throwable
{
//Do something interesting here
}
}
Mit PowerMock & Mockito, ich versuche in meiner Unit-Test-Klasse in einem verspottet Methode Objekt zu übergeben:
@RunWith(PowerMockRunner.class)
@PrepareForTest({Method.class})
public class MyProxyTest
{
MyProxy underTest;
@Test
public void testInvoke() throws Throwable
{
Method mockMethod = mock(Method.class);
//...
}
}
Seit Methode ist final
, ich habe den @PrepareForTest
Trick gemacht, aber das scheint es nicht zu schneiden. Ist das, weil es bootstrapped ist? Mache ich das nur falsch?
Ich habe auf die Links unten aus, aber es gibt nichts, es definitiv:
- https://code.google.com/p/powermock/wiki/MockitoUsage13
- https://code.google.com/p/powermock/wiki/MockSystem
- Dieses mehr ausgerichtet auf statische Methoden scheint als ein Modell eines zu schaffen letzte Klasse.
Ja, es sieht wie ein ähnliches Problem aus. Am Ende ging ich den Weg, ein Method-Objekt normalerweise aus einem Mock zu erstellen und dann zu verifizieren, dass die Methode im Mock aufgerufen wurde. Vielen Dank! –