簡體   English   中英

在Powermockito中的whennew()調用不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM