【发布时间】:2014-10-16 10:08:26
【问题描述】:
当 [name = "Mohammad", age = 26] 调用 Person 类的实例时,我想返回 4。 当 [name = "Ali", age = 20] 调用 Person 类的实例时,我想返回 5。
所以我有这些课程:
public class Person {
private String name;
private int age;
我的 DAO 类:
public class DAO {
public int getA(Person person) {
return 1;
}
public int getB(Person person) {
return 2;
}
}
这里是计算器类
public class Calculator {
private DAO dao;
public int add() {
dao = new DAO();
return dao.getA(new Person("Mohammad", 26)) +
dao.getB(new Person("Ali", 20));
}
}
这是我的测试:
@Test
public void testAdd() throws Exception {
when(mydao.getA(new Person("Mohammad", 26))).thenReturn(4);
when(mydao.getB(new Person("Ali", 20))).thenReturn(5);
whenNew(DAO.class).withNoArguments().thenReturn(mydao);
assertEquals(9, cal.add());
}
那么为什么我的测试会失败?
【问题讨论】:
标签: java unit-testing matcher hamcrest