So come deridere i metodi statici da una classe usando PowerMock.
Ma voglio prendere in giro metodi statici da più classi in una classe di test usando JUnit e PowerMock.
Qualcuno può dirmi è possibile farlo e come farlo?
So come deridere i metodi statici da una classe usando PowerMock.
Ma voglio prendere in giro metodi statici da più classi in una classe di test usando JUnit e PowerMock.
Qualcuno può dirmi è possibile farlo e come farlo?
Risposte:
Basta fare @PrepareForTest({Class1.class,Class2.class})per più classi.
@RunWith(PowerMockRunner.class)il livello di classe
@Rule public PowerMockRule rule = new PowerMockRule();
@PrepareForTest(Class1::class, Class2::class))
@PrepareOnlyThisForTestposto di @PrepareForTest. Quest'ultimo modifica anche le superclassi, che normalmente non è necessario.
@Test
@PrepareForTest({Class1.class, Class2.class})
public final void handleScript() throws Exception {
PowerMockito.mockStatic(Class1.class);
PowerMockito.mockStatic(Class2.class);
eccetera...
PowerMock 1.6.5problemi di utilizzo @PrepareForTesta livello di metodo (funziona solo a livello di classe per me)
In java con powermock / junit, usa @PrepareForTest({})tutte le classi statiche che vuoi come array ( {}).
@RunWith(PowerMockRunner.class)
@PrepareForTest({XmlConverterA.class, XmlConverterB.class})
class TransfersServiceExceptionSpec {
}
Ho usato powermock con in scala / junit, poiché scalatest non ha l'integrazione con powermock.
@RunWith(classOf[PowerMockRunner])
@PrepareForTest(Array(classOf[XmlConverterA], classOf[XmlConverterB]))
class TransfersServiceExceptionSpec {
@Test
def test() {
}
}