2014-01-17 10 views
15

Wir haben Spezifikationen für unsere JavaScript-Geschäftslogik unter Verwendung von Jasmine geschrieben. Wir können unsere Testsuite in einem Browser ausführen, aber wie würden wir dies in TeamCity integrieren? Vorzugsweise möchten wir NodeJS nicht verwenden, sondern etwas so Einfaches wie möglich.So führen Sie Jasmin-Tests in TeamCity aus

Antwort

13

ich eine modifizierte Version von run-jasmine.js erstellt haben, die in den PhantomJS Quellen gefunden wird (Originalversion ist here. Diese Version kann innerhalb Teamcity verwendet werden (es wird automatisch erkannt, dass es in Teamcity läuft). Diese aktualisierte Version wird mit . Teamcity service messages, die für eine schöne Integration ermöglicht

Sie PhantomJS brauchen Sie auch ein benötigen die folgenden Möglichkeiten:..

einen Build Schritt in Ihrer Teamcity Build-Konfiguration hinzufügen, die diesen Schritt ausführen können:

phantomjs.exe run-jasmine.js index.html 

index.html ist Ihre Jasmin Läufer Seite. Wenn die Build-Agenten PhantomJS nicht enthalten, können Sie es zusammen mit Ihren Quellen in Ihr Repository übertragen (dies tun wir).

Das Ergebnis wird wie folgt aussehen:

Tests Overview

Test-Details: Test Details

Die oben ist aus einem Tasks Beispiel ASP.NET MVC-Projekt mit diesem Setup. Es kann in TeamCity mit einem Visual Studio (sln) Build-Schritt ausgeführt werden. Es wird auch die Tests in Visual Studio als Pre-Build-Schritt ausführen.

+1

Daniel - danke für das Skript und die Erklärung. Arbeitete für mich fast sofort. 2 Macken, die ich hatte: Jasmine führt Dateien aus einem anderen Ordner mit der Syntax "/folder/file.js" aus, während Phantom anscheinend "../folder/file.js" benötigt. Und es war nicht klar, dass Team City einen Befehlszeilen-Buildschritt benötigt. –

+0

@IliaBarahovski Ja, das aktuelle Arbeitsverzeichnis kann je nach Konfiguration der Verzeichnisse von einer Lösung zur anderen abweichen. Wie auch immer, schön zu hören, dass es funktioniert! –

+0

@ DanielLidström - Danke für Ihre Klarstellung. Aber ich konnte die Jasmintests nicht in Teamcity durchführen. Die phantomjs.exe und run-jasmine.js wurden über den dort angegebenen Link hinzugefügt. Wenn möglich, geben Sie einen Link an, wenn Sie eine Beispielquelle oder einen GIT-Link haben. –

Verwandte Themen