Ich habe kürzlich ein Black-Box-Refactoring abgeschlossen. Ich kann es nicht einchecken, da ich nicht weiß, wie ich es testen soll.
Auf einer hohen Ebene habe ich eine Klasse, deren Initialisierung das Abrufen von Werten aus einer Klasse B umfasst. Wenn Klasse B "leer" ist, werden einige sinnvolle Standardwerte generiert. Ich habe diesen Teil in eine Methode extrahiert, die Klasse B mit denselben Standardwerten initialisiert.
Ich habe noch nicht herausgefunden, wozu / in welchem Kontext eine Klasse dient oder wie sie verwendet wird. Daher kann ich das Objekt nicht aus einer leeren Klasse B initialisieren und überprüfen, ob es die richtigen Werte hat / das Richtige tut.
Meine beste Idee ist, den Originalcode, den Hardcode in den Ergebnissen öffentlicher Methoden, abhängig von den initialisierten Mitgliedern, auszuführen und den neuen Code dagegen zu testen. Ich kann nicht genau sagen, warum ich mich mit dieser Idee irgendwie unwohl fühle.
Gibt es hier einen besseren Angriff?