2008-08-22 8 views
12

Was ist ein qualitativ hochwertiges Beispiel für TDD in Aktion? Welche kleinen bis mittleren Open-Source-Projekte in .net gibt es, die Best Practices in TDD zeigen und als Referenz für TDD funktionieren könnten?Was ist ein qualitativ hochwertiges Beispiel für TDD in Aktion?


Suche mehr für ein Beispiel eines lebenden, atmenden Projekt (e), die als ein gutes Beispiel für TDD dient. Etwas, das die Bücher und Referenzen ergänzen würde, die den Prozess isoliert erklären und demonstrieren.

Etwas, das für einen erstrebenswerten Entwickler nützlich sein würde, der vom Anfänger/Zwischen TDD Praktiker um Stufe nach oben wollen ...

Antwort

6

Hier einige Beispiele:

  • NUnit
  • CodeCampServer Jede der
  • Rhino-Tools von Ayende (zB Rhino Mocks)
  • ASP.NET MVC
  • Cuyahoga (CMS-System)
  • Fließfähiges NHibernate
3

Wenn Sie für den persönlichen Gebrauch von TDD in diese suchen, ich glaube nicht, andere Surfen Projekte werden dir wirklich helfen. Stattdessen solltest du eintauchen und es einfach tun und lernen, während du gehst.

Um zu beginnen, überprüfen Sie this article über testen und wie Sie beginnen, und this book über TDD von Kent Beck (sehr einfach, leicht zu verstehen und aufschlussreich).

+0

Der Link zum devver.net Artikel ist jetzt tot. – stusherwin

+0

@stusherwin Der Link wurde repariert, danke! –

1

Ich bin nicht durch alle Webcasts selbst gekommen, also kann ich nicht bestätigen, wie gut Rob Conery TDD implementiert hat, aber sein MVC Storefront series soll TDD verwenden.

+0

Ich habe es auch nicht gesehen, aber ich habe sein BDD-Intro gesehen und es war eine ziemlich gute Einführung in das Thema, also würde ich erwarten, dass das MVC Storefront-Zeug auch eine Untersuchung wert ist. –

3

Dies mag vielleicht nicht das sein, wonach Sie suchen, aber die MS Enterprise Library enthält eine ganze Reihe von Komponententests (NUnit) als Teil der Quellcodeverteilung, ich würde das als ziemlich reale Welt betrachten.

Kev

+0

Roy Osherove hat eine Videobewertung der Unity-Tests gemacht (siehe seinen Blog) und "Roy kennt Tests" :) –

0

Etwa eine Woche vor posted IT Conversations einen sehr interessanten Vortrag von Kent Beck gegeben, die auf TDD konzentriert (aber auch auf Muster und extreme Programmierung berührt). Nichts so "fleischig" wie detaillierte Anweisungen auf TDD, aber trotzdem informativ. Es lohnt sich auf jeden Fall zuhören, wenn Sie Ihre TDD-Fähigkeiten erhöhen.

1

Ron Jeffries hat viele gute Artikel auf xprogramming.com. Wenn Sie C# machen, suchen Sie nach "Adventures in C#". Oder kaufe das Buch.

Sein Schreibstil deckt die meisten Aspekte von TDD ab, sogar die falschen Drehungen, die wir uns vorgenommen haben. Ich habe im Laufe der Jahre viele seiner Artikel gelernt, sogar in den exotischeren Sprachen.

3

TDD ist ein Prozess, der meistens zwischen den Commits zum Repository passiert.

Wenn Sie sich Open-Source-Projekte ansehen, werden nur Momentaufnahmen des Codes angezeigt, die bei der Freigabe eines Entwicklers gemacht werden.

Es sollte kein praktischer Unterschied zwischen den Commits von einem Entwickler gemacht wird, dass gutes Design und implementiert viele Komponententests und einen guten Entwickler, die TDD Praktiken macht. Der Unterschied besteht darin, dass der TDD-Prozess Druck auf den Entwickler ausübt, um ein sauberes Design zu erzeugen und viele Komponententests durchzuführen.

Mit Blick auf einem Testgetriebene Projekt Open-Source ermöglicht nur das Ergebnis des TDD-Verfahrens zu sehen, nicht, wie Sie sich Testgetriebene zu sein.

Um wirklich zu lernen, müssen Sie wirklich jemand TDD beobachten. Ein Buch kann helfen, aber es ist schwierig, den Prozess in einem Buch zu zeigen. Viel besser, um es in Echtzeit zu sehen. Der beste Weg wäre, mit jemandem zu programmieren, der testgesteuert ist. Der nächstbeste wäre eine Live-Demonstration bei einer Konferenz oder Versammlung - vielleicht haben Sie eine lokale Benutzergruppe?

Gelingt das nicht, gibt es einige Online-Video-Demos. Hier sind zwei:

1

I Kommentar Rasmus echo würde darüber nützlicher sein zu beobachten jemand TDD tun. Zwei Ressourcen Ich habe wirklich nützlich gefunden:

  1. James Shore a YouTube video series hat, wo er ein kleines Stück Software von Grund auf neu erstellt unter Verwendung von TDD und Aufzeichnung bei jedem Schritt des Prozesses. Meiner Meinung nach sollte dies für jeden, der darüber nachdenkt, mit TDD zu beginnen, erforderlich sein, ich bin erst kürzlich darauf gestoßen und ich bin überrascht, dass es nicht mehr Aufmerksamkeit hat. Es gibt 120 15-minütige Videos - das ist eine Menge Material.

  2. Derek Greer bei Los Techies hat a series of posts zu Fuß durch ein grundlegendes Spiel von Tic-Tac-Toe. Dies ist auch sehr gut, aber offensichtlich nicht so viel Tiefe wie die vorherige Ressource. Ich würde es empfehlen, wenn Sie nicht viel Zeit haben.