在单元测试中调用其他类方法

时间:2015-08-30 14:00:28

标签: java unit-testing junit tdd mockito

我有一个类,其中包含一个对象列表,然后使用这些对象的状态返回用户计算的值。 E.g:

calculateTotal

我正在尝试使用junit和mockito对calculatedTotal方法进行单元测试,但为了做到这一点,我需要向m_listOfObjects添加一些模拟的MyObject实例。但是,这意味着在addObject测试calculateTotal中调用另一种方法。

这是一个有效的单元测试,还是违反最佳做法,因为我对addObject的测试还取决于l = [] for i in indexes: l.append(line.split()[i]) 方法?

1 个答案:

答案 0 :(得分:6)

"单元"测试并不意味着单独测试一个类。 如果你可以使用简单的代码创建对象,我建议你这样做,而不是添加Mocks。

使用代表有效输入示例的简单实际对象,您将获得强大的测试。试图过度模拟一切只会导致简单,容易破解且通常无用的测试。

是的 - 它仍然是一个单元测试 - 该单元正在计算所讨论对象的所有值。

相关问题