【发布时间】:2016-02-01 14:39:34
【问题描述】:
我正在使用 mockito 编写集成测试。 被测单元通过接口连接到模拟对象(objA)。当被模拟的对象触发一个事件并且被测单元正在监听它时,我试图模仿的功能就会发生。
界面:
public interface MyInterfaceAPI{
void fireyMyEvent(String msg);
}
被测单元:
public class UnitUnderTest{
ObjA objA;
public UnitUnderTest(ObjA objA_t) {
objA = objA_t;
objA.addMyListener(new addMyHandler());
}
class addMyHandler implements MyInterfaceAPI{
@Override
public void fireyMyEvent(String msg) {
System.out.println(msg);
};
};
};
测试:
public class MyTest {
@org.junit.Test
public void run() {
ObjA mockObjA = mock(ObjA .class);
UnitUnderTest spyController = Mockito.spy(new UnitUnderTest());
MyInterfaceAPI mo2uut= mock(MyInterfaceAPI.class);
mo2uut.fireyMyEvent("hello from test");
}
}
我的问题是在测试中,如何将 mo2uut('mocked object' 到 'unit under test')连接到 UnitUnderTest 中 MyInterfaceAPI 的 addMyHandler 类实现?
我显然遗漏了一些东西,但我不确定是什么。
【问题讨论】:
标签: java unit-testing junit mockito