PowerMockを使用してクラスから静的メソッドをモックする方法を知っています。
しかし、私はJUnitとPowerMockを使って、テストクラス内の複数のクラスから静的メソッドをモックしたいと思います。PowerMockを使用して複数のクラスの静的メソッドをモック
誰でも私にこれを行うことができ、それを行う方法は教えてもらえますか?
PowerMockを使用してクラスから静的メソッドをモックする方法を知っています。
しかし、私はJUnitとPowerMockを使って、テストクラス内の複数のクラスから静的メソッドをモックしたいと思います。PowerMockを使用して複数のクラスの静的メソッドをモック
誰でも私にこれを行うことができ、それを行う方法は教えてもらえますか?
複数のクラスに対しては@PrepareForTest({Class1.class,Class2.class})
を実行してください。 powermock/JUnitを用いたJavaで
中かっこ!それは私が欠けていたものです。 – sudocoder
クラスレベルの@RunWith(PowerMockRunner.class)でPowerMockRunnerに切り替えることも忘れないでください。 –
@NikitaBarishokは必ずしも必要ではありません。上記の作業を行う代わりにルールを定義することができます。@ public PowerMockRule rule = new PowerMockRule(); –
@Test
@PrepareForTest({Class1.class, Class2.class})
public final void handleScript() throws Exception {
PowerMockito.mockStatic(Class1.class);
PowerMockito.mockStatic(Class2.class);
等...
'PowerMock 1.6.5'に関しては、メソッドレベルで' @ PrepareForTest'を使用する際に問題があります(クラスレベルでのみ動作します) –
、あなたは配列({}
)として必要な数の静的クラスと@PrepareForTest({})
を使用しています。
@RunWith(PowerMockRunner.class)
@PrepareForTest({XmlConverterA.class, XmlConverterB.class})
class TransfersServiceExceptionSpec {
}
私はスカラ座/ JUnitの中でpowermockを使用していた、scalatestとしてはpowermockとの統合を持っていません。
@RunWith(classOf[PowerMockRunner])
@PrepareForTest(Array(classOf[XmlConverterA], classOf[XmlConverterB]))
class TransfersServiceExceptionSpec {
@Test
def test() {
}
}
単一のクラスからメソッドをモックするのと同じ方法で行います。あなたはどこにいるのですか? – artbristol
powermockを使用する場合は、このアノテーションをテストクラス@PrepareForTest(ClassThatContainsStaticMethod.class)に追加する必要があります。しかし、複数の注釈を指定することはできません。だからそれを行う方法? – Newbie