我一直尝试从test.class
中获取此方法我正在使用Vaadin UI。
我想要达到的部分是:
void initComponents() {
setSizeFull();
setMargin(true);
setImmediate(true);
loginHeadingView();
getVLayout1().addLayoutClickListener(new LayoutClickListener(){
@Override
public void layoutClick(LayoutClickEvent event) {
setLangView(0);
removeHeadingView();
removeComponent(log);
setLangHead(0);
initComponents();
initValues();
}
});
getVLayout2().addLayoutClickListener(new LayoutClickListener(){
@Override
public void layoutClick(LayoutClickEvent event) {
setLangView(1);
removeHeadingView();
removeComponent(log);
setLangHead(1);
initComponents();
initValues();
}
});
我无法达到@Override方法的一部分来测试里面的值,
我的方法是:
LayoutClickListener testListener = Mockito.mock(LayoutClickListener.class);
testLoginView.getVLayout1().addLayoutClickListener(testListener);
LayoutClickEvent testEvent = Mockito.mock(LayoutClickEvent.class);
testListener.layoutClick(testEvent);
这对我来说很有意义,不管它是不行的,我使用模拟的方式是对的吗?或者我们怎么做?
答案 0 :(得分:0)
您要找的是spy
(也称为部分模拟)。除非另有指示,否则嘲笑“伪造”所有方法。间谍使用所有原始方法,除非另有说明。
LayoutClickListener testListener = Mockito.spy(LayoutClickListener.class);