109

PowerMockを使用してクラスから静的メソッドをモックする方法を知っています。
しかし、JUnitとPowerMockを使用して、テストクラスの複数のクラスの静的メソッドをモックしたいと思います。

誰かが私にこれを行うことが可能であり、それを行う方法を教えてもらえますか?

4

4 に答える 4

268

@PrepareForTest({Class1.class,Class2.class})複数のクラスに対して行うだけです。

于 2012-04-26T08:19:34.737 に答える
13
@Test
 @PrepareForTest({Class1.class, Class2.class})
 public final void handleScript() throws Exception {
    PowerMockito.mockStatic(Class1.class);
    PowerMockito.mockStatic(Class2.class);

等...

于 2014-10-14T08:37:47.083 に答える
3

kotlinを使用している場合、構文は次のとおりです。

@PrepareForTest(ClassA::class, ClassB::class)

于 2019-12-25T10:27:12.550 に答える
2

powermock / junitを 使用するJavaでは@PrepareForTest({})、配列()と同じ数の静的クラスで使用します{}

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

}

scalatestにはpowermockとの統合がないため、scala/junitでpowermockを使用しました。

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

  @Test
  def test() {
  }
}
于 2016-11-02T19:18:58.500 に答える