Ich betrachte eine kleine (~ 70 kLOC einschließlich generierter) C # -Codebasis (.NET 4.0, etwas Silverlight) mit sehr geringer Testabdeckung. Der Code selbst funktioniert dahingehend, dass er die Benutzerakzeptanztests bestanden hat, aber spröde und in einigen Bereichen nicht sehr gut berücksichtigt ist. Ich möchte mit den üblichen Verdächtigen (NMock, NUnit, StatLight für die Silverlight-Bits) eine solide Unit-Test-Abdeckung um den Legacy-Code hinzufügen.
Mein normaler Ansatz ist es, das Projekt durchzuarbeiten, Unit-Tests und Refactoring durchzuführen, bis ich mit dem Status des Codes zufrieden bin. Ich habe das in der Vergangenheit schon oft gemacht und es hat gut funktioniert.
Dieses Mal denke ich jedoch darüber nach, einen Testgenerator (insbesondere Pex ) zu verwenden, um das Testframework zu erstellen und es dann manuell zu konkretisieren.
Meine Frage lautet: Haben Sie in der Vergangenheit Unit-Test-Generatoren verwendet, als Sie mit der Arbeit an einer älteren Codebasis begonnen haben, und wenn ja, würden Sie diese empfehlen?
Ich befürchte, dass die generierten Tests die semantischen Nuancen der Codebasis übersehen, was zu der gefürchteten Situation führt, Tests zum Zwecke der Abdeckungsmetrik durchzuführen, anstatt Tests, die das beabsichtigte Verhalten im Code klar ausdrücken.