Erste Schritte mit Unit Testing

stimmen
23

Unit-Tests ist, grob gesagt, es testet Bits des Codes in Isolation mit Testcode. Die unmittelbaren Vorteile, die den Sinn kommen, sind:

  • die Tests laufen wird automatisieren-able und wiederholbar
  • Sie können auf einem viel detaillierteren Ebene als Test Point-and-Click-Tests über eine GUI

Rytmis

Meine Frage ist, was die aktuellen „Best Practices“ in Bezug auf die Werkzeuge sind sowie wann und wo Unit-Tests als Teil Ihrer täglichen Codierung zu benutzen?

Lets versuchen etwas sprachunabhängig zu sein und alle Basen zu bedecken.

Veröffentlicht am 19/08/2008 um 21:18
quelle vom benutzer
In anderen Sprachen...                            


7 antworten

stimmen
1

Die xUnit Familie ist die tragende Säule der Unit-Tests. Sie sind in Größen wie Netbeans integriert, Eclipse und viele andere IDEs. Sie bieten eine einfache, strukturierte Lösung für Komponententests.

Eine Sache, die ich immer versuchen und tun, wenn ein Test ist das Schreiben externe Code Nutzung zu minimieren. Damit meine ich: Ich versuche, das Setup und Teardown-Code für den Test so weit wie möglich zu minimieren und versuchen Sie es mit anderen Modulen / Code-Blöcke so weit wie möglich zu vermeiden. Gut geschriebene modularen Code sollte nicht zu viel externen Code erfordern darin Auf- und Abbau ist.

Beantwortet am 19/08/2008 um 21:27
quelle vom benutzer

stimmen
3

Der so genannte xUnit Rahmen ist weit verbreitet. Es wurde ursprünglich für Smalltalk als SUnit entwickelt, entwickelte sich in JUnit für Java, und jetzt viele andere Implementierungen wie NUnit für .Net hat. Es ist fast ein de - facto - Standard - wenn Sie sagen , Sie Unit - Tests verwenden, eine Mehrheit von anderen Entwicklern wird vorausgesetzt , dass Sie xUnit oder ähnliches bedeuten.

Beantwortet am 19/08/2008 um 21:29
quelle vom benutzer

stimmen
3

Eine großartige Quelle für ‚best practices‘ ist das Google Testing Blog , zum Beispiel eines kürzlich erschienener Beitrag auf Writing Prüfbar - Code ist eine fantastische Ressource. Insbesondere ihre ‚Prüfung auf der Toilette‘ Serie wöchentliche Beiträge sind für um den Würfel zu veröffentlichen, oder Toilette, so kann man immer über das Testen denken.

Beantwortet am 19/08/2008 um 21:33
quelle vom benutzer

stimmen
22

Ok hier einige Best Practices von jemandem, der so viel nicht Unit-Test, wie er sollte ... Husten.

  1. Stellen Sie sicher , dass Ihre Tests Test eine Sache und nur eine Sache.
  2. Schreiben Sie Unit - Tests , wie Sie gehen. Vorzugsweise bevor Sie den Code schreiben Sie gegen testen.
  3. Das Gerät nicht die GUI testen.
  4. Trennen Sie Ihre Bedenken .
  5. Minimieren Sie die Abhängigkeiten Ihrer Tests.
  6. Mock GERÄTEVERHALTEN mit Mocks .
Beantwortet am 19/08/2008 um 21:33
quelle vom benutzer

stimmen
0

NUnit ist ein gutes Werkzeug für eine der .NET-Sprachen.

Unit-Tests können in einer Reihe von Arten verwendet werden:

  1. Test Logic
  2. Erhöhen Trennung von Codeeinheiten. Wenn Sie nicht vollständig eine Funktion oder einen Abschnitt des Codes testen können, dann die Teile, die sie bilden, sind zu interdependant.
  3. Fahren Entwicklung, einige Leute schreiben Tests , bevor sie den Code schreiben zu testen. Dies zwingt Sie dazu, darüber nachzudenken , was Sie den Code wollen zu tun , und gibt Ihnen dann eine bestimmte Richtlinie , wenn Sie , dass acheived haben.
Beantwortet am 19/08/2008 um 21:44
quelle vom benutzer

stimmen
14

Vielleicht haben Sie wollen , betrachten TDD auf drei Karteikarten und drei Karteikarten auf einfache Weise die Essenz Erinnern von Testgetriebene Entwicklung :

Karte # 1. Onkel Bobs Drei Gesetze

  • Schreiben Sie keinen Produktionscode außer einen fehlerhaften Test zu bestehen.
  • Schreiben Sie nur genug von einem Test einen Fehler nachzuweisen.
  • Schreiben Sie nur genug Produktionscode den Test zu bestehen.

Karte # 2: ERSTER Principles

  • Schnell: nervtötend schnell, wie in hundert oder tausend pro Sekunde.
  • Isoliert: Der Test eindeutig einen Fehler isoliert.
  • Wiederholbar: Ich kann es immer wieder laufen, und es wird die gleiche Art und Weise jedes Mal bestanden oder nicht bestanden.
  • Selbst Verifizieren: Der Test ist eindeutig Pass scheitern.
  • Rechtzeitige: in Lockstep mit kleinen Änderungen am Code produziert.

Karte # 3: Kern von TDD

  • Rot: Test schlägt fehl
  • Grün: Test Pässe
  • Umgestalten: sauberer Code und Tests
Beantwortet am 19/08/2008 um 23:28
quelle vom benutzer

stimmen
0

Vergessen Sie nicht, Unterstützung Refactoring. ReSharper auf .NET bietet eine automatische Refactoring und schnelle Lösungen für Code fehlt. Das heißt, wenn Sie einen Anruf zu schreiben etwas, das nicht existiert, ReSharper fragt, ob Sie das fehlende Stück erstellen möchten.

Beantwortet am 27/08/2008 um 22:00
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more