Макет статических методов из нескольких классов с использованием PowerMock


Я знаю, как издеваться над статическими методами из класса с помощью PowerMock.
Но я хочу издеваться над статическими методами из нескольких классов в тестовом классе, используя JUnit и PowerMock.

может кто-нибудь сказать мне, возможно ли это сделать и как это сделать?

3 86

3 ответа:

просто делать @PrepareForTest({Class1.class,Class2.class}) для нескольких классов.

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

etc...

в java с powermock / junit, использовать @PrepareForTest({}) С таким количеством статических классов, как вы хотите, как массив ({}).

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

}

я использовал powermock с помощью scala / junit, как scalatest не имеет интеграции с powermock.

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

  @Test
  def test() {
  }
}