Silverlight Datenfehler unter Expression Blend und Silverlight Unit Tests unter CI-Systemen (Teil 2)
Kommentare

Menü 2 für Experten: Silverlight Unit Tests unter Continuous-Integration-Systemen
Bereits ab Silverlight 2 gab es ein Silverlight Unit Testing Framework, das auf MSTest aufbaute. Das Besondere daran

Menü 2 für Experten: Silverlight Unit Tests unter Continuous-Integration-Systemen

Bereits ab Silverlight 2 gab es ein Silverlight Unit Testing Framework, das auf MSTest aufbaute. Das Besondere daran sind die Testbarkeit von asynchronen Datenaufrufen und das integrierte UI Automation Framework, mit dem GUI-Elemente automatisiert ausgeführt und überprüft werden können. Dabei wird der Browser geöffnet und die Unit Tests gestartet, denn die Silverlight-Anwendungen sind beim Ausführen vom Browser-Plug-in abhängig. Das alles war jedoch nur für Integrationstests von Interesse und förderte nicht das korrekte Entwickeln in TDD (Test-driven Development), denn dafür müssten die Test-Browser unabhängig im Hintergrund ausgeführt werden können. Gerade bei Continuous-Integration-Systemen wie TFS, CruiseControl.NET oder TeamCity ist dieser Punkt enorm wichtig.

Der TFS 2010 kann serverseitig ohne Probleme die Tests ausführen. Die Entwickler selbst müssten hierbei mit dem Visual Studio Command Prompt Console Tool manuell MSBuild auf dem Client anstoßen. Dies ist zum Beispiel mit folgendem Befehl möglich: MSBuild /t:test. Aber auch hier öffnet sich der Browser und die Ergebnisse werden nicht in Visual Studio präsentiert. Die einfache Lösung für dieses Problem lautet StatLight – ein Open-Source-Projekt auf Codeplex. Es führt automatisiert die unter SL Unit Testing Framework erstellten Unit Tests im Hintergrund aus und bietet eine Integration für gängige Continuous-Integration-Systeme. Tests werden mit folgendem Befehl in der Console ausgeführt und die Ergebnisse in einer XML-Datei gespeichert: Statlight.exe -x=“/SL.xap -r=“report.xml“.

Für eine zusätzliche Unterstützung unter Visual Studio gibt es ein weiteres Open-Source-Projekt „Unit Test Result Viewer for Silverlight“, das ebenfalls auf Codeplex zur Verfügung steht.

Gregor Biswanger ist Microsoft MVP für Client App Dev und arbeitet als Solution Architect und Silverlight-Experte der Firma impuls Informationsmanagement GmbH aus Nürnberg. Seine Schwerpunkte liegen im Bereich der .NET-Architektur, Silverlight und agilen Prozessen. Biswanger ist außerdem freier Autor, Speaker und Microsoft CLIPler der Ingolstädter .NET Developers Group. Sie erreichen seinen Blog unter http://www.dotnet-blog.net.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -