我知道如何使用PowerMock來模擬來自類的靜態方法。
但我想嘲笑使用JUnit和PowerMock的測試類中的多個類的靜態方法。使用PowerMock模擬來自多個類的靜態方法
誰能告訴我是否可以做到這一點,以及如何做到這一點?
我知道如何使用PowerMock來模擬來自類的靜態方法。
但我想嘲笑使用JUnit和PowerMock的測試類中的多個類的靜態方法。使用PowerMock模擬來自多個類的靜態方法
誰能告訴我是否可以做到這一點,以及如何做到這一點?
只爲多個班級做@PrepareForTest({Class1.class,Class2.class})
。
大括號!這就是我所缺少的。 – sudocoder 2014-01-17 20:28:47
也不要忘了用'@RunWith(PowerMockRunner.class)'切換到PowerMockRunner在類級別 – 2016-10-27 14:22:01
@NikitaBarishok並不總是需要。您可以定義一個規則,而作出上述工作 - '@規則 公共PowerMockRule規則=新PowerMockRule();' – 2017-04-09 15:10:40
@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'存在問題(僅適用於我的課堂級別) – 2016-10-27 14:24:06
與powermock/JUnit的Java中,使用@PrepareForTest({})
與儘可能多的靜態類,你想要的陣列({}
)。
@RunWith(PowerMockRunner.class)
@PrepareForTest({XmlConverterA.class, XmlConverterB.class})
class TransfersServiceExceptionSpec {
}
我已經使用powermock在斯卡拉/ JUnit中,作爲scalatest沒有與powermock整合。
@RunWith(classOf[PowerMockRunner])
@PrepareForTest(Array(classOf[XmlConverterA], classOf[XmlConverterB]))
class TransfersServiceExceptionSpec {
@Test
def test() {
}
}
你只是以同樣的方式來模擬單個類的方法。你卡在哪裏? – artbristol 2012-04-26 07:42:34
使用powermock時,需要將此註釋添加到測試類@PrepareForTest(ClassThatContainsStaticMethod.class)。但我們不能指定多個註釋。那麼該怎麼做呢? – Newbie 2012-04-26 08:16:56