web-dev-qa-db-ja.com

PowerMockを使用して複数のクラスから静的メソッドをモックする

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

誰も私にこれを行うことが可能であり、どのようにそれを行うことができるか教えてもらえますか?

96
Newbie

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

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

等...

10
arush436

In Java powermock/junitを使用)@PrepareForTest({})を使用して、必要な数の静的クラスを配列({})。

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

}

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

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

  @Test
  def test() {
  }
}
2
prayagupd