2015-03-01 7 views
5

Ich habe bereits mit dem Testen von NodeJS-Bibliotheken experimentiert, die Jasmine oder Mocha verwenden, aber ich weiß nicht, wie man Front-End-Projekte testet. Ich habe Tutorials online gefunden, aber alles beinhaltet einen Task-Manager im Workflow und ich würde gerne wissen, wie man das ohne einen tut.Wie testet man eine Front-End-JavaScript-Bibliothek und integriert sie in Travis?

ich die folgende Frage zu schließen gefunden, wonach ich frage:

Using Travis-CI for client-side JavaScript libraries?

In meinem Fall, ich bin mit Jasmin und haben bereits die Jasmin SpecRunner.html, Jasmin Bibliothek und spec/mylibSpec.js eingerichtet. Die Tests passieren, wenn ich die SpecRunner.html in meinem Browser laufen lasse.

Nun, wie integriere ich dies mit Travis, ohne Grunt/Gulp/Brunch/etc?

Ich habe die Worte "PhantomJS" und "Selenium" gehört und ich denke, das hat etwas damit zu tun, was ich erreichen will. Gibt es ein "Hello, World" -ähnliches Projekt mit Tests und Travis-Integration, von denen man lernen kann?

Antwort

6

Die Travis Dokumentation lists three basic ways dies zu erreichen:

  1. die Maden PhantomJS Browser
  2. Firefox mit einem virtuellen Display zu laufen oder
  3. den Saucelabs Browser VM-Dienst

Testing mit PhantomJS ist das schnellste, da es keine Anzeige simuliert (es erlaubt Ihnen jedoch immer noch, Screenshots zu erstellen). PhantomJS kommt mit run-jasmine example.

Das Phantom Testskript kann dann direkt ausgeführt werden, indem einfach

Lauf
script: phantomjs run-jasmine.js 

in Ihrem .travis.yml, ohne den zusätzlichen Aufwand eines Build-System wie Grunt.

Wenn Ihr Projekt Testen erfordert einen echten Browser-GUI, die Sie mit Optionen 2 oder 3

Saucelabs Browser VMs verlässt den Vorteil von echten Cross-Browser-Prüfung; Wenn Ihr Projekt Open Source ist, bieten sie eine free plan an. Sie bieten auch ein ausführliches Tutorial für Ihren speziellen Anwendungsfall: , der jedoch Grunt benötigt, um zu laufen.

+0

Gibt es außer Travis noch andere Dienste, die ich benutzen könnte? Ich kann nicht glauben, dass das so eine Sackgasse ist? Was ist die beste Praxis? Was benutzen die Leute bei deiner CIA? – BubbleFever

+0

@BubbleFever Ich verstehe nicht ganz - Sie haben speziell nach Travis-Integration gefragt? Was meinst du mit 'Sackgasse' und 'Cia'? – janfoeh

+0

Richtig, aber ich denke, das ist zu schwer. Es sollte einfacher sein. – BubbleFever