9

Tło:Jasmine CI i Przechwytywanie Wynik testu Wyjście na Jenkins Server

odziedziczyły Ruby on Rails 3.1.x projekt, który jest w potrzebie BDD i testów dla kodu Javascript. Więc podążając za Instructions dodałem klejnot jaśminu do testowania JS. To działa ok przez natarcia jaśminu i daje mi lokalnego serwera WWW dostępną poprzez http://some-host.com:8888/

Problem:

Co chcę zrobić, to użyć testów na serwerze CI, który jest uruchomiony Jenkins. Projekt Jenkins został skonfigurowany za pomocą komendy rake jasmine:ci w celu uruchomienia wariantu CI Jasmine. Dane wyjściowe w dzienniku konsoli kompilacji Jenkins są następujące:

Waiting for jasmine server on 32901... 
jasmine server started. 
Waiting for suite to finish in browser ... 
................ 

Finished in 0.00454 seconds 
16 examples, 0 failures 
* Stopping Xvfb :66.0 Xvfb 
    ...done. 

Chciałbym uchwycić wynik; jak w widoku wygenerowanym ze strony serwera WWW Jasmine i zachowaj to przy uruchomieniu kompilacji. Próbowałem oczywiste, czy istnieje opcja -o <filename.out>, ale nie udało się.

Czy ktoś wie, jak przechwytywać dane wyjściowe w kontekście działania w instancji CI? Czy to wymaga PhantomJS?

Odpowiedz

8

Używam phantomjs w połączeniu z kompatybilnym z junitem reporterem xml dla jaśminu. Następnie używam wtyczki JUnit Jenkins.

Reporter JUnit i kod klej można znaleźć tutaj: Projekt

https://github.com/larrymyers/jasmine-reporters

Ten github Larry Myers ma dobry przykład konfigurację dla tego produktu. Zawiera konfigurację rhino i phantomjs. Próbowałem tylko części phantomjs i jestem naprawdę zadowolony.