对于我来说,为方法实现方便重载是非常常见的。这里是我可以做的事情的例子:我是否应该为方便重载重复测试?
public void Encode(string value) {
Encode(value, DefaultEncoding);
}
public void Encode(string value, Encoding encoding) {
// ...
}
我开始更加重视单元测试,以及测试这样的方法介绍了一些障碍,我不知道我相信我自己一个人接近。第一个也是最重要的问题是我是否应该为两种重载重复测试。例如,如果的值为空,则两种方法都应抛出ArgumentNullException;是否更正确地认识到可能是不同的逻辑并且写两个测试,或者更好地假设便利重载没有自己的逻辑?
我也有第二个问题。我的命名方案与Roy Osherove的相同:“MemberName_State_ExpectedResult”。如果我复制测试,那么我会在不引入一些古怪的命名约定的情况下碰撞名称。如果你复制测试,你如何处理这个问题?
这两个帐户。有关验证便捷方法行为的简单方法,请参阅我对此问题的回答。 –