[英]Whennew() call in powermockito not working
我在調用構造函數時使用Mockito和PowerMockito實例化一個模擬:
@RunWith(MockitoJUnitRunner.class)
@PrepareForTest(ConVibe.class)
public class ConVibeTests {
ConVibe task;
@Mock ShapeEffect shapeEffect;
@Test
public void verify_shape_effect() {
whenNew(ShapeEffect.class).withAnyArguments().thenReturn(shapeEffect);
task.call();
// Omitted
}
// Omitted
}
這是對我要模擬的構造函數的調用,位於conVibe類的函數call()內:
final ShapeEffect effect = new ShapeEffect(mode, new RepService());
事實是,真正的構造函數被調用(顯然有一個DB調用失敗),而不是創建了模擬。
怎么了?
您使用了錯誤的運行程序-如果您想使用PowerMock,則需要使用PowerMockRunner
:
@RunWith(PowerMockRunner.class)
@PrepareForTest(ConVibe.class)
public class ConVibeTests {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.