【发布时间】:2017-04-10 17:40:37
【问题描述】:
我有以下课程:
public class A {
private Field field;
public A(Field field){
this.field = field;
}
public add(int size){
field.addBall(new Ball(size));
}
}
public interface Things {
List<Ball> ballList = new LinkedList<>();
public addBall(Ball b){
ballList.add(b);
}
}
我想测试 A 类的 add() 方法。更具体地说,我想测试是否调用了 Things 类的 addBall() 方法。 这个测试失败说: 验证期望失败:Things.addBall(...) : expected: 1 ,actual: 0;
public class TestA {
private Things thing;
private A a;
@Before
public void setUp() {
thing = EasyMock.createNiceMock(Things.class);
a = new A(thing);
}
@After
public void tearDown() {
}
@Test
public void addTest(){
thing.addBall(new Ball(345));
EasyMock.expectLastCall();
EasyMock.replay(cache);
a.add(345);
EasyMock.verify(cache);
}
}
什么是正确的方法?这个测试有什么问题?
【问题讨论】:
标签: java testing junit mocking easymock