1 回答

TA貢獻1797條經(jīng)驗 獲得超4個贊
我發(fā)現(xiàn)addDelegate可以解決我的問題..不是那么清晰和直觀,但比我以前的方法稍好一些。
interface ConListener {
void Connected();
void DataSent(int size);
}
// Having it as a class, so that I can only add stub codes,
// for a particular method and leave the rest.
class TestListener implements ConListener {
void Connected() {Assert.fail("")}
void DataSent(int size) {Assert.fail("")}
}
@Test
public void SomeTest() {
CompletableFuture<Void> connected = new CompletableFuture<Void>();
mock = EasyMock.createMock(ConListener.class);
// Record
mock.Connected();
EasyMock.expectLastCall().andDelegateTo(new TestListener() {
public void Connected() {
connected.complete(null);
}
});
EasyMock.expectLastCall().times(1); // This cannot come before adding delegates. Why?
EasyMock.replay(mock);
// Test
sock = createCon(addr, mock/*using actual mock*/);
connected.get(timeout, unit);
sock.send(blahblah);
}
添加回答
舉報