web-dev-qa-db-fra.com

Mockez des méthodes statiques de plusieurs classes à l'aide de PowerMock

Je sais me moquer des méthodes statiques d'une classe à l'aide de PowerMock.
Mais je veux me moquer des méthodes statiques de plusieurs classes dans une classe de test utilisant JUnit et PowerMock.

Quelqu'un peut-il me dire s'il est possible de faire cela et comment le faire?

96
Newbie

Il suffit de faire @PrepareForTest({Class1.class,Class2.class}) pour plusieurs classes.

237
artbristol
@Test
 @PrepareForTest({Class1.class, Class2.class})
 public final void handleScript() throws Exception {
    PowerMockito.mockStatic(Class1.class);
    PowerMockito.mockStatic(Class2.class);

etc...

10
arush436

In Java avec powermock/junit, utilisez @PrepareForTest({}) avec autant de classes statiques que vous le souhaitez sous la forme array ({}).

@RunWith(PowerMockRunner.class)
@PrepareForTest({XmlConverterA.class, XmlConverterB.class})
class TransfersServiceExceptionSpec {

}

J'ai utilisé powermock avec dans scala/junit, car scalatest n'a pas d'intégration avec powermock.

@RunWith(classOf[PowerMockRunner])
@PrepareForTest(Array(classOf[XmlConverterA], classOf[XmlConverterB]))
class TransfersServiceExceptionSpec {

  @Test
  def test() {
  }
}
2
prayagupd