我的类中有一个简单的方法,它将一个元素放在缓存中:
public void Put(TItem item)
{
// Do something
}
现在我添加了另一种方法,可以同时放置多个元素:
public void Put(IEnumerable<TItem> items)
{
foreach (var item in items)
{
Put(item);
}
}
似乎为了避免重复,我应该只检查我多次调用Put。但我只能间接地这样做,因为这不是一种依赖。有没有办法在测试这些方法时避免复制/粘贴?我可以做一个冒烟测试来检查Put的一些结果,但是它自己有很多单元测试,在这种情况下它们不会完整。有什么好办法摆脱这种情况吗?
答案 0 :(得分:4)
我会对各种条件进行测试,但只对Put
本身的结果进行最少的验证 - 我假设有一些相当的简单方法来检查项目是否已经过放?
可能的测试:
现在可以肯定的是,对于一个简单的foreach
循环可能会被视为过度杀伤。我喜欢“测试直到恐惧变成无聊”的口号。