43 Stimmen

Wie beginnt man mit Unit-Tests oder TDD?

Ich habe viele Beiträge gelesen, die mich davon überzeugt haben, dass ich anfangen sollte, Unit-Tests zu schreiben. Ich habe auch angefangen, Dependency Injection (Unity) zu verwenden, um das Mocking zu vereinfachen, aber ich bin mir immer noch nicht ganz sicher, auf welcher Stufe ich anfangen sollte, die Unit-Tests und Mocks zu schreiben, und wie oder wo ich anfangen soll.

Wäre es besser, die Unit-Tests vor den Methoden zu schreiben, wie in der TDD-Methodik beschrieben?

Gibt es eine andere Methodik oder Vorgehensweise für Unit-Tests?

2 Stimmen

Versuchen Sie, diesen Artikel zu lesen: blog.codeville.net/2009/08/24/

2 Stimmen

Wenn Sie in C# sind, dann geben Sie das Geld aus und holen Sie sich eine Kopie von Resharper. Es ändert die ganze Erfahrung.

0 Stimmen

@Kane Ich glaube, die URL ändert sich in blog.stevensanderson.com/2009/08/24/

1voto

TheVillageIdiot Punkte 38840

Lesen Sie Pragmatische Unit-Tests in C# mit NUnit . Es enthält umfassende Informationen über das Schreiben von Tests und die Strukturierung des Codes, um ihn unit-testfreundlich zu gestalten.

1 Stimmen

Ich habe dieses Buch gekauft und mehrmals gelesen, und in der Theorie hört sich alles gut an, aber in der Praxis sind alle Beispiele und Vorschläge viel zu trivial, wenn man versucht, sie auf eine reale Codebasis anzuwenden. Es ist ein großartiges Buch, um herauszufinden, was Unit Testing ist und was es alles gibt, aber es ist kaum umfassend.

0 Stimmen

Die Beispiele sind vielleicht "trivial" im Vergleich zu "echtem" Code, aber sie helfen dem Buch, einen Fokus zu behalten. Es war das erste, was ich gelesen habe, als ich neu im Bereich Unit-Tests war, aber es gab mir genug Munition, um eine Menge Fehler in meinem Code zu finden.

2 Stimmen

Ich habe das Buch nicht gelesen, daher weiß ich nicht, wie trivial die Beispiele darin sind, aber der Schlüssel zu gutem Design ist normalerweise, "echten" Code in trivialen Code zu verwandeln. Das kann die Aufteilung von Klassen in viel kleinere Einheiten erfordern, als Sie es gewohnt sind. Bei gutem, testbarem Code denkt man oft: "Kann das wirklich funktionieren? Ein Kind könnte diesen Code verstehen!", weil jede Einheit für sich genommen nur einen sehr begrenzten Zweck abdeckt und mit den einfachsten Mitteln implementiert ist.

1voto

James Black Punkte 41034

Wenn Sie noch keine Unit-Tests geschrieben haben, wählen Sie einfach ein paar Klassen aus und beginnen Sie mit dem Schreiben Ihrer Unit-Tests und arbeiten Sie weiter an der Entwicklung weiterer Unit-Tests.

Mit zunehmender Erfahrung können Sie dann damit beginnen, die Datenbank zum Beispiel mit Hilfe des Unity-Frameworks nachzubilden, aber ich würde vorschlagen, einfach anzufangen und Erfahrungen zu sammeln, bevor Sie diesen Schritt wagen.

Sobald Sie mit dem Schreiben von Unit-Tests vertraut sind, können Sie versuchen, TDD durchzuführen.

0voto

FL4SOF Punkte 3811

Ich bevorzuge den Ansatz von Kent Beck, der in dem Buch Test Driven Development by Example - Kent Beck sehr gut erklärt wird.

Aus Ihrer Frage kann ich schlussfolgern, dass Sie nicht sicher sind, mit dem Test-Rahmenwerk - Auswahl der richtigen Test-Rahmenwerk ist sehr wichtig für TDD oder Schreiben von Unit-Tests (im Allgemeinen).

Das einzige praktische Problem bei TDD ist das "Refactoring" (wir müssen auch den Testcode refactoren), das viel Zeit in Anspruch nimmt.

0voto

Steve Freeman Punkte 2659

Ich denke, das Buch von Dave Astels ist immer noch eine der besten Einführungen. Es ist für Java, aber man sollte es übersetzen können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X