© DrHitch/Shutterstock.com
Shortcuts
F#

3 Testen

Ohne automatische Tests wird heute nur noch selten programmiert − richtig so! Viele agile Entwicklungsmethoden schreiben die Erzeugung von Tests als Startpunkt jeder Entwicklung vor. F# kann als .NET-Sprache grundsätzlich mit den unterschiedlichsten Testumgebungen arbeiten, die für die Plattform verfügbar sind. Allerdings ist der Grad der Unterstützung letztlich nicht überall derselbe. In diesem Bereich ist viel in Bewegung, also sei geraten, den aktuellen Stand noch einmal selbst zu untersuchen. Im Folgenden wird das Framework xUnit vorgestellt, das mit F# recht gut zusammenarbeitet.

Shortcut Autorenteam


Um xUnit zu verwenden, besorgen Sie sich zunächst von http://xunit.codeplex.com die neueste Version. Diese kommt in Form einer zip-Datei daher, die Sie an einem beliebigen Ort auf Ihrer Festplatte auspacken können. Darin finden Sie die verschiedenen DLLs des Pakets sowie einige ausführbare Programme. Es gibt auch einen Installer, dessen Ausführung optional ist − damit lässt sich die Integration von xUnit mit TestDriven.Net aktivieren, und es können einige Vorlagen für die Nutzung von xUnit mit ASP.NET MVC installiert werden.Hinweis: Zur Ausführung von automatischen Tests ist es immer sehr praktisch, eine Integration mit Visual Studio verfügbar zu haben. Das lässt sich zum Beispiel über das eben erwähnte TestDriven.Net erreichen, für das allerdings eine eigene Lizenz notwendig ist. Auch DevExpress CodeRush und JetBrains ReSharper, beides kommerzielle Produkte, bieten Unterstützung für xUnit − allerdings ohne Garantie, dass diese auch mit F# richtig funktioniert, und die Ergebnisse waren zum Zeitpunkt des Schreibens gemischt. Gallio ist eine freie Plattform, die neben vielen anderen Unit-Testing-Systemen auch xUnit integriert. Falls Sie keines dieser (oder ähnlicher) Werkzeuge zur Verfügung haben, bleibt Ihnen zur Arbeit mit xUnit nur der Umgang mit dessen mitgelieferter, nicht in Visual Studio integrierter Oberfläche, oder mit den Kommandozeilenprogrammen. Letztere Tools arbeiten einwandfrei mit in F# geschriebenen Programmen und deren Tests, und Sie können mit ALT-TAB recht schnell zwischen Visual Studio und dem Test-Runner-Fenster (oder der Kommandozeile) hin- und herschalten.Das Schreiben von Tests mithilfe von xUnit in F# ist nicht schwieriger als mit irgendeiner anderen Sprache. Sie machen sich dabei zu Nutze, dass xUnit Tests auch in statischen Klassen erkennen kann (Module werden nämlich vom Compiler als statische Klassen implementiert), und dass es recht tolerant ist in Hinsicht auf die Signatur von Methoden, die als Tests erkannt werden. Ein Testmodul, hier der Einfachheit halber im selben Projekt untergebracht wie der Produktionscode, kann etwa wie folgt aussehen:module Sturm.Tests.CalculatorTestsopen Sturm.Demoopen Xunit []let adder_add_should_return_8_for_5_plus_3() = Assert.Equal(8, Adder.add 5 3)[]let adder_add5_should_return_8_for_3() = Assert.Equal(8, Adder.add5 3)Hinweis: Beachten Sie beim Schreiben ihrer eigenen Tests unbedingt, dass die Testfunktionen mit einem Klammerpaar abgeschlossen werden müssen. Da die Funktionen e...

Shortcuts
F#

3 Testen

Ohne automatische Tests wird heute nur noch selten programmiert − richtig so! Viele agile Entwicklungsmethoden schreiben die Erzeugung von Tests als Startpunkt jeder Entwicklung vor. F# kann als .NET-Sprache grundsätzlich mit den unterschiedlichsten Testumgebungen arbeiten, die für die Plattform verfügbar sind. Allerdings ist der Grad der Unterstützung letztlich nicht überall derselbe. In diesem Bereich ist viel in Bewegung, also sei geraten, den aktuellen Stand noch einmal selbst zu untersuchen. Im Folgenden wird das Framework xUnit vorgestellt, das mit F# recht gut zusammenarbeitet.

Shortcut Autorenteam


Um xUnit zu verwenden, besorgen Sie sich zunächst von http://xunit.codeplex.com die neueste Version. Diese kommt in Form einer zip-Datei daher, die Sie an einem beliebigen Ort auf Ihrer Festplatte auspacken können. Darin finden Sie die verschiedenen DLLs des Pakets sowie einige ausführbare Programme. Es gibt auch einen Installer, dessen Ausführung optional ist − damit lässt sich die Integration von xUnit mit TestDriven.Net aktivieren, und es können einige Vorlagen für die Nutzung von xUnit mit ASP.NET MVC installiert werden.Hinweis: Zur Ausführung von automatischen Tests ist es immer sehr praktisch, eine Integration mit Visual Studio verfügbar zu haben. Das lässt sich zum Beispiel über das eben erwähnte TestDriven.Net erreichen, für das allerdings eine eigene Lizenz notwendig ist. Auch DevExpress CodeRush und JetBrains ReSharper, beides kommerzielle Produkte, bieten Unterstützung für xUnit − allerdings ohne Garantie, dass diese auch mit F# richtig funktioniert, und die Ergebnisse waren zum Zeitpunkt des Schreibens gemischt. Gallio ist eine freie Plattform, die neben vielen anderen Unit-Testing-Systemen auch xUnit integriert. Falls Sie keines dieser (oder ähnlicher) Werkzeuge zur Verfügung haben, bleibt Ihnen zur Arbeit mit xUnit nur der Umgang mit dessen mitgelieferter, nicht in Visual Studio integrierter Oberfläche, oder mit den Kommandozeilenprogrammen. Letztere Tools arbeiten einwandfrei mit in F# geschriebenen Programmen und deren Tests, und Sie können mit ALT-TAB recht schnell zwischen Visual Studio und dem Test-Runner-Fenster (oder der Kommandozeile) hin- und herschalten.Das Schreiben von Tests mithilfe von xUnit in F# ist nicht schwieriger als mit irgendeiner anderen Sprache. Sie machen sich dabei zu Nutze, dass xUnit Tests auch in statischen Klassen erkennen kann (Module werden nämlich vom Compiler als statische Klassen implementiert), und dass es recht tolerant ist in Hinsicht auf die Signatur von Methoden, die als Tests erkannt werden. Ein Testmodul, hier der Einfachheit halber im selben Projekt untergebracht wie der Produktionscode, kann etwa wie folgt aussehen:module Sturm.Tests.CalculatorTestsopen Sturm.Demoopen Xunit []let adder_add_should_return_8_for_5_plus_3() = Assert.Equal(8, Adder.add 5 3)[]let adder_add5_should_return_8_for_3() = Assert.Equal(8, Adder.add5 3)Hinweis: Beachten Sie beim Schreiben ihrer eigenen Tests unbedingt, dass die Testfunktionen mit einem Klammerpaar abgeschlossen werden müssen. Da die Funktionen e...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang