Подтвердить что ты не робот

Копирование статических методов из нескольких классов с помощью PowerMock

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

и т.д...

Ответ 3

В 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() {
  }
}