Es ist wirklich üblich für mich, Convenience-Überladungen für Methoden zu machen. Hier ist ein Beispiel für etwas, das ich tun könnte:Sollte ich Tests für Komfortüberladungen duplizieren?
public void Encode(string value) {
Encode(value, DefaultEncoding);
}
public void Encode(string value, Encoding encoding) {
// ...
}
Ich fange mehr Aufmerksamkeit auf Unit-Tests zu zahlen, und Testmethoden wie dies einige Hindernisse einführt Ich bin mir nicht sicher, ob ich vertraue mich allein zu nähern. Das erste und wichtigste Problem ist, ob ich Tests für beide Überladungen duplizieren sollte. Beispielsweise sollten beide Methoden ArgumentNullException werfen, wenn Wert Null ist; ist es richtiger zu erkennen, könnte unterschiedliche Logik sein und zwei Tests schreiben oder ist es besser anzunehmen, dass die Bequemlichkeitsüberlastungen keine Logik ihrer eigenen haben?
Ich habe auch ein sekundäres Problem. Mein Benennungsschema ist dasselbe wie Roy Osheroves: "MemberName_State_ExpectedResult". Wenn ich Tests dupliziere, dann habe ich widersprüchliche Namen, ohne irgendeine seltsame Namenskonvention einzuführen. Wie gehst du damit um, wenn du Tests duplizierst?
+1 auf beiden Konten. Eine einfache Möglichkeit, das Verhalten der Convenience-Methode zu überprüfen, finden Sie in meiner Antwort auf diese Frage. –