2013-03-07 8 views
9

Przeszukałem internet, szukając opisu rzeczy, którą próbuję zrobić, ale bezskutecznie. Chciałbym dostać testy jednostkowe na frontenty internetowe, które buduję, które działają bezpośrednio na kod produkcyjny, ładując go PhantomJS z localhost. Chciałbym uruchomić zadanie Grunt, które przechodzi przez moją specyfikację po załadowaniu prawdziwej strony i interakcji z domem, aby przetestować wszystko. Jestem tam PRAWIE, ale nie mogę załadować strony.Jaki jest najlepszy przepływ pracy przy testach jaśminów na kodzie produkcyjnym z pomrukiem?

Jeśli dodać element hosta opcji jaśminu w moim gruntfile tak:

options: { 
     specs: 'spec/*Spec.js', 
     helpers: 'spec/*Helper.js', 
     vendor: ['app/assets/javascripts/src/libs/jquery-1.9.1.min.js', 'app/assets/javascripts/src/libs/underscore.js'], 
     template: require('grunt-template-jasmine-requirejs'), 
     host: "http://localhost:3000" 
     } 

dostaję błąd przekroczenia limitu czasu za każdym razem. Nikt tak naprawdę nie rozwiązał tego problemu w kontekście Grunt, więc nie jestem pewien, co to za historia i nie mam żadnych testów asynchronicznych. Jeśli zostawiam hosty, uruchamia testy z powodzeniem, ale tylko na moich surowych plikach javascript przez lokalny system plików, a nie przez sieć lokalną. Jak skonfigurować szablony, aby umożliwić testom Jasmine uruchamianie na innym hoście?

UPDATE:

Faktycznie, wygląda na to, Grunt faktycznie nie odpytywać na serwerze lokalnym, to po prostu wisi i czasy się.

Odpowiedz

6

trzeba uruchomić serwer lokalny za pomocą grunt-contrib-connect

podać w config:

grunt.initConfig({ 
    connect: { 
    server: { 
     options: { 
     port: 3000 
     } 
    } 
    } 
});  

dodać do zadania Alias:

grunt.registerTask("default", ["connect", "your-jasmine-task"]); 

i uruchom go:

$ grunt default 
Powiązane problemy