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
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:..
- run-jasmine.js (für Jasmin 1.x)
- run-jasmine.js (für Jasmine 2.x).
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:
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. So führen Sie Javah aus Eclipse aus
- 2. So führen Sie PowerShell in CMD aus
- 3. So führen Sie Funktionen in Postgres aus
- 4. Teamcity REST-API - Führen Sie Benutzerdefinierte
- 5. So führen Sie Segue mit Verzögerung aus
- 6. So führen Sie CPPUnit Komponententests aus
- 7. So führen Sie die interne Abwicklungsfunktion aus:
- 8. So führen Sie Shell-Einbau aus Scala
- 9. So führen Sie zwei Funktionen gleichzeitig aus
- 10. So führen Sie diese Abfrage aus
- 11. So führen Sie eine data.table-Zusammenführungsoperation aus
- 12. So führen Sie nacheinander Stapeljobs aus
- 13. So führen Sie Pyint mit PyCharm aus
- 14. So führen Sie Gatling aus Code
- 15. So führen Sie mehrere SVN-Dienste aus
- 16. So führen Sie NUnit aus meinem Code aus
- 17. So führen Sie eine heruntergeladene Datei aus dem Speicher aus?
- 18. So führen Sie eine Mac-Anwendung aus Java aus?
- 19. So führen Sie die Stapeldatei aus einem beliebigen Ordner aus
- 20. Führen Sie ssh aus und führen Sie den Befehl aus
- 21. Teamcity - Führen Sie Git Fetch für Agent-Side Checkout
- 22. So führen Sie Bulk-Delete mit Beziehung in EJB3 aus
- 23. So führen Sie Testsuite in Python aus setup.py
- 24. So führen Sie geordnete Aufgaben in Maven2 Build aus
- 25. So führen Sie eine Methode durch Bindung in WPF aus
- 26. So führen Sie mehrere Mischaufgaben in einem Befehl aus
- 27. So führen Sie ein Skript in zufälligen Intervallen aus
- 28. So führen Sie das Java-Programm in der Eingabeaufforderung aus
- 29. So führen Sie verschiedene @Before in JUnit aus
- 30. So führen Sie eine JAR-Datei in Android Studio aus?
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. –
@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! –
@ 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. –