2015-03-01 18 views
5

Już eksperymentowałem testując biblioteki NodeJS używając Jasmine lub Mocha, ale nie wiem jak przetestować front-endowe projekty. Znalazłem samouczki online, ale wszystko zawiera menedżera zadań w przepływie pracy i chciałbym wiedzieć, jak to zrobić bez niego.Jak przetestować frontową bibliotekę JavaScript i zintegrować ją z Travis?

znalazłem następujące pytanie blisko co pytam:

Using Travis-CI for client-side JavaScript libraries?

W moim przypadku używam Jasmine i już skonfigurować Jasmine SpecRunner.html, biblioteka Jasmine i spec/mylibSpec.js. Testy są sprawdzane po uruchomieniu SpecRunner.html w przeglądarce.

Teraz, jak mogę to zintegrować z Travis, bez Grunt/Gulp/Brunch/itp?

Słyszałem słowa "PhantomJS" i "Selenium" i myślę, że ma to związek z tym, co próbuję osiągnąć. Czy istnieje projekt "cześć, świat" z testami i integracją Travisa, z których można się uczyć?

Odpowiedz

6

Travis dokumentacja lists three basic ways do osiągnięcia tego celu:

  1. z PhantomJS bezgłowy przeglądarka
  2. uruchomić Firefoksa z wirtualnym ekranie lub
  3. pomocą Saucelabs przeglądarki VM usługę

Testing z PhantomJS jest najszybszy, ponieważ nie symuluje ekranu (mimo to nadal pozwala tworzyć zrzuty ekranu). PhantomJS jest dostarczany z run-jasmine example. skrypt testowy

Fantom może być wykonywany bezpośrednio, po prostu uruchamiając

script: phantomjs run-jasmine.js 

w swojej .travis.yml, bez dodatkowego obciążania systemu kompilacji takich jak Grunt.

Jeśli testuje swój projekt wymaga rzeczywistego przeglądarki GUI, że pozostawia nam z opcji 2 lub 3.

Saucelabs przeglądarka VM mają tę zaletę testów prawdziwy cross-browser; jeśli twój projekt jest open source, oferują one free plan. Zapewniają one także dogłębny samouczek dla konkretnego przypadku użycia: Travis + Jasmine + Saucelabs, który jednak wymaga Grunta do uruchomienia.

+0

Czy mogę skorzystać z innych usług niż Travis? Nie mogę uwierzyć, że to taki ślepy zaułek? Jaka jest najlepsza praktyka? Co ludzie używają w twojej cii? – BubbleFever

+0

@BubbleFever Nie całkiem rozumiem - prosiłeś o integrację Travisa? Co rozumiesz przez "ślepy zaułek" i "cia"? – janfoeh

+0

Dobrze, ale myślę, że to zbyt trudne. Powinno być prostsze. – BubbleFever