模拟在方法本身中初始化的对象

时间:2018-05-16 10:58:56

标签: junit mockito

有没有办法模拟在方法本身中初始化的对象。例如

void myMethod(){
    SampleClass sample = new SampleClass();
    int count = sample.getProductCount(5L);
}

我想模拟像

这样的getProductCount方法
when(sample.getProductCount(any(Long.class)).thenReturn(10)

但我找不到办法。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我正在使用@Spy来模拟特定方法,

  

使用@Spy注释的字段可以在声明点显式初始化。

在你的情况下准备间谍:

 <h:panelGroup rendered="#{contentDetails.location == 'NA'}">
     <img  src="#{request.contextPath}/#{operator}/content/#{param['c']}/#{contentDetails.cpCategory1}/#{contentDetails.title}.jpg" alt="#{contentDetails.category}" />
            </h:panelGroup>
             <h:panelGroup rendered="#{contentDetails.location != 'NA'}">
                <img src="#{contentDetails.location}" alt="#{contentDetails.category}"/>
                    </h:panelGroup>

在测试中:

@Spy
private SampleClass sample = new SampleClass();

@BeforeMethod
public void initMocks() {
    MockitoAnnotations.initMocks(this);
}