0
我現在有幾個測試使用PowerMock和Mockito來「模擬對象」。問題是,所有這些測試一遍又一遍地創建相同的模擬。是否有可能從我的測試派生出一個抽象類來預先嘲笑這些對象?抽象測試類
例子:
public abstract class AbstractTest {
public void initialize() {
PowerMockito.mockStatic(StaticMock.class);
when(StaticMock.doSomething()).thenReturn(true);
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest(StaticMock.class) // BanManager.class contains static methods
public class Test extends AbstractTest {
@SuppressWarnings("serial")
@Test
public void testWithPerms() {
initialize();
SomeObject obj = new SomeObject();
obj.doSomething();
PowerMockito.verifyStatic();
Static.verifyIsCalled();
}
}
我怎麼會做這樣的事情上面,實際上工作?這給了我不一致的堆棧圖框架
編輯:謝謝你的回答。我的問題實際上是由於我使用與Java 7不兼容的PowerMock版本。但是,您的指示會有所幫助。
您是否必須將@PrepareForTest放在抽象類上? – roblabla 2013-03-18 22:12:04