【发布时间】:2015-08-30 14:00:28
【问题描述】:
我有一个类,其中包含一个对象列表,然后使用这些对象的状态向用户返回一个计算值。例如:
class MyContaier {
private List<MyObject> m_listOfObjects;
public MyContainer() {
...
}
public void addObject(MyObject object) {
m_listOfObjects.add(object);
}
public int calculateTotal() {
int total = 0;
for (MyObject object : m_listOfObjects)
total += object.getValue();
return total;
}
}
我正在尝试使用 junit 和 mockito 对 calculateTotal 方法进行单元测试,但为了做到这一点,我需要向 m_listOfObjects 添加一些模拟的 MyObject 实例。但是,这意味着在calculatedTotal 测试中调用另一个方法addObject。
这是一个有效的单元测试,还是违反了最佳实践,因为我对calculateTotal 的测试也依赖于addObject 方法?
【问题讨论】:
标签: java unit-testing junit tdd mockito