TDD vs. Test-first

Gibt es einen Unterschied zwischen TDD und Test-first? Immer wieder erlebe ich Diskussionen um die Frage, wie man denn nun Software so richtig richtig testet. Die Erkenntnis, dass automatisierte Tests notwendig sind, scheint sich inzwischen durchgesetzt zu haben. Ich erlebe nicht mehr, dass Entwickler ernsthaft behaupten, automatisierte Tests wären Zeitverschwendung, zu kompliziert, in ihrem Projekt … Read more

Tests Anzahl Integrationstests Unittests

Unit Tests are your Friends

Angeregt durch die Diskussion mit Teilnehmern eines Clean Code Developer Workshops habe ich mich wieder einmal mit der Frage befasst, welche Strategien beim automatisierten Testen ich anwende und empfehle. Die Diskussion drehte sich vor allem um die Frage, ob private Methoden durch Unit Tests getestet werden sollen und wie dies dann technisch am besten realisiert … Read more

Testbarkeit wieder herstellen: das IOSP

In Legacy Code Projekten existieren typischerweise nur wenige oder gar keine automatisierte Tests. Die simple Empfehlung, diese doch bitte mal zu ergänzen, geht an der Realität vorbei. Der Code ist nicht mit Blick auf Testbarkeit konzipiert worden. Vor allem Abhängigkeiten und fehlende Aspekttrennung erschweren das Testen. Es hilft nichts: der Code muss refaktorisiert werden, bevor Tests ergänzt werden können.

Unit Tests mit .NET Core

[Updated] Unit Tests mit .NET Core

Wie schreibe ich Unit Tests mit .NET Core? Diese simple Frage sollte eigentlich überflüssig sein. Microsoft hat mit .NET Core Version 1.0 gerade eine plattformübergreifende Version des .NET Frameworks herausgebracht. Man sollte meinen, dass Unit Tests dabei von Anfang an mit berücksichtigt wurden. Das automatisierte Testen ist schließlich Stand der Technik und absolut unverzichtbar. Ich habe erwartet, dass nach der Installation der .NET Core Unterstützung für Visual Studio 2015 ein neuer Projekttyp für .NET Core Unit Tests angeboten wird. Doch Fehlanzeige. Der Beitrag zeigt, wie es geht.

Ressourcen automatisiert testen

Die kniffligen Fälle beim Testen – Ressourcen

Ressourcenzugriffe wie das Lesen oder Schreiben von Dateien oder Datenbankzugriffe bereiten beim automatisierten Testen häufig Probleme. Ganz überwiegend liegt das daran, dass der Zugriff auf eine Ressource, wie eine Datei oder Datenbank, mit anderen Aspekten im Code vermischt ist. Innerhalb einer Methode wird dann sowohl auf die Ressource zugegriffen als auch mit den gelesenen Ergebnissen gearbeitet. Das Vermischen der Aspekte erschwert das automatisierte Testen.

Schnellstart Unit Tests

Stellen Sie die Korrektheit Ihrer Implementation automatisiert sicher durch Unit Tests. Starten Sie noch heute! In diesem Cheatsheet finden Sie die wichtigsten Details zu NUnit, MSTest und CppUnit, die Sie für einen schnellen Start benötigen. Auch zum Nachschlagen von selten genutzten Features hilfreich.

CheatSheet Unit Tests mit NUnit

Nachschlagen aller relevanter Details zu Unit Tests:

  • Grundlagen: Wie ist ein Test aufgebaut?
  • Wie werden Tests ausgeführt?
  • Assert: viele Beispiele zur Syntax.
  • Datengetriebene Tests
  • Wie teste ich interne Details?
  • Wie können Testdateien verwendet werden?
  • Welche Referenzen werden benötigt?

Gewinnen Sie die Kontrolle über Ihren Code zurück!

Schnellstart Mikado Methode

Ihre Codebasis ist Ihnen außer Kontrolle geraten? Undurchsichtige Abhängigkeiten erschweren Ihre Änderungen? Automatisierte Tests sind nicht vorhanden? Komplexe Refactorings werden nie fertig?

Komplexe Refactorings umsetzen mit der Mikado Methode
  • Gewinnen Sie die Kontrolle über Ihre Legacy Codebasis zurück
  • Lernen Sie die Mikado Methode.
  • Zerlegen Sie komplexe Refactorings Schritt für Schritt.
  • Enthält den Ablauf und Tipps zu den einzelnen Schritten der Mikado Methode.