Unit Tests mit NUnit unter .NET Core

Unit Tests NUnit NET CoreInzwischen ist NUnit unter .NET Core lauffähig. Im Detail gibt es ein paar Dinge zu beachten. In loser Folge aktualisiere ich diesen Blogbeitrag um meine Erkenntnisse.

WorkDirectory vs. TestDirectory

Seit NUnit 3 wird bei der Ausführung von Tests zwischen dem TestDirectory und dem WorkDirectory unterschieden. Im TestDirectory liegt die Assembly, welche den gerade laufenden Test enthält. Das WorkDirectory ist das Verzeichnis, in dem NUnit seine Ausgabedateien (z.B. TestResult.xml) erzeugt.

Das aktuelle Verzeichnis für den Prozess, in dem der Test läuft, ist jetzt das WorkDirectory, während es in NUnit 2 das TestDirectory war. Dieser „breaking change“ sorgt dafür, dass Tests die unter NUnit 2 problemlos ihre Testdateien gefunden haben, nun angepasst werden. So weit so gut. Beim .NET Framework hilft folgendes Test Setup:

Siehe dazu auch meinen Artikel über das Testen von Ressourcen.

In der .NET Core Version existiert die Eigenschaft TestDirectory allerdings nicht in der Klasse TestContext. Daher muss das Setup hier wie folgt aussehen:

Visual Studio ‘Copy To Output Directory’ unter .NET Core

In Visual Studio Projekten kann man den Buildprozess veranlassen, eine Datei in das Ausgabeverzeichnis zu kopieren. Dazu geht man im Solution Explorer in die Eigenschaften der zu kopierenden Datei und setzt die Eigenschaft „Copy to Output Directory“ auf „Copy always“ oder „Copy if newer“. Bei .NET Core Projekten existiert diese Eigenschaft allerdings nicht.

Der gleiche Effekt kann durch eine Einstellung in der Datei project.json erreicht werden. Ergänzen Sie dort den folgenden Eintrag:

Im Beispiel wird die Datei Tweets.csv aus dem Unterverzeichnis content in das Ausgabeverzeichnis kopiert.

Diesen Beitrag ergänze ich in loser Folge, sobald sich neue Erkenntnisse ergeben.

 

 

Schreibe einen Kommentar

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.