Тестирование приложения AngularJS Express

У меня проблема с тестированием моего приложения с обоими jasmine-node а также mochazombie). Дело в том angular не работает с этой тестовой средой - когда browser.visit "http://localhost:3000/" он отображает только макет и не отображает ссылки на шаблоны. Я предполагаю, что javascript вообще не работает в браузере (я имею в виду объект зомби). Мой тест Есть ли способ заставить его работать? Или проблема в другом?

В спецификации жасмина, которую я скопировал из другой спецификации проекта, возникает ошибка:

/home/alder/Node/angular-express-coffee/spec/app_spec.coffee:12
        throw error;
              ^
ReferenceError: angular is not defined
    at /js/services.js:4:3
    at /js/services.js:6:4
    in /js/services.js

Так что я думаю, что JavaScript тоже не работает.

Обновление: я добавляю опцию отладки и вот что она отображает:

➜  angular-express-coffee git:(master) ✗ mocha --require should --compilers coffee:coffee-script --colors  -R spec --ui bdd


  Given I am a new user
    When I visit the home page
Zombie: GET http://localhost:3000/newPost => 200
Zombie: GET http://localhost:3000/ => 200
Zombie: GET http://localhost:3000/js/lib/jquery-1.7.2.min.js => 200
Zombie: GET http://localhost:3000/js/lib/bootstrap.min.js => 200
Zombie: GET http://localhost:3000/js/lib/angular.min.js => 200
Zombie: GET http://localhost:3000/js/app.js => 200
Zombie: GET http://localhost:3000/js/controllers.js => 200
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/controllers.js
Zombie: GET http://localhost:3000/js/lib/jquery-1.7.2.min.js => 200
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/lib/jquery-1.7.2.min.js
Zombie: GET http://localhost:3000/js/filters.js => 200
Zombie: GET http://localhost:3000/js/directives.js => 200
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/directives.js
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/filters.js
Zombie: GET http://localhost:3000/js/lib/bootstrap.min.js => 200
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/lib/bootstrap.min.js
Zombie: GET http://localhost:3000/js/lib/angular.min.js => 200
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/lib/angular.min.js
Zombie: GET http://localhost:3000/js/services.js => 200
Zombie: GET http://localhost:3000/js/filters.js => 200
Zombie: GET http://localhost:3000/js/directives.js => 200
Zombie: GET http://localhost:3000/js/controllers.js => 200
Zombie: GET http://localhost:3000/js/app.js => 200
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/app.js
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/controllers.js
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/directives.js
Zombie: Unexpected token ILLEGAL SyntaxError: Unexpected token ILLEGAL
    in /js/filters.js
Zombie: GET http://localhost:3000/js/services.js => 200

Возможно проблема в coffeescript, но у меня была возможность добавить к мокко. И есть ли способ протестировать угловые приложения без JsTestDriver, распространяемой командой Angular.

Обновлено. Я изменил утверждения об ошибках на browser.errors.should.be.empty и это показало мне ошибку:

1) Given I am a new user When I visit the home page Then browser status shold be ok:
AssertionError: expected [ [Error: Unexpected token ILLEGAL],
  [Error: Unexpected token ILLEGAL],
  [Error: Unexpected token ILLEGAL],
  [Error: Unexpected token ILLEGAL],
  [Error: Unexpected token ILLEGAL],
  [Error: Unexpected token ILLEGAL],
  [Error: Unexpected token ILLEGAL],
  [Error: angular is not defined] ] to be empty
  at Object.empty (/home/alder/Node/angular-express-coffee/node_modules/should/lib/should.js:229:10)
  at Context.<anonymous> (/home/alder/Node/angular-express-coffee/test/app_test.coffee:31:40)
  at Test.Runnable.run (/usr/lib/node_modules/mocha/lib/runnable.js:184:32)
  at Runner.runTest (/usr/lib/node_modules/mocha/lib/runner.js:300:10)
  at Runner.runTests.next (/usr/lib/node_modules/mocha/lib/runner.js:346:12)
  at next (/usr/lib/node_modules/mocha/lib/runner.js:228:14)
  at Runner.hooks (/usr/lib/node_modules/mocha/lib/runner.js:237:7)
  at next (/usr/lib/node_modules/mocha/lib/runner.js:185:23)
  at Runner.hook (/usr/lib/node_modules/mocha/lib/runner.js:205:5)
  at process.startup.processNextTick.process._tickCallback (node.js:244:9)

Последнее обновление: проблема была в конвейере активов, все js был отключен для Zombie браузер. Теперь я перехожу на JS от кофе, и это работает. Но я предпочитаю кофе, так что если кто-нибудь может решить его, я буду благодарен.

2 ответа

Решение

Может ли это быть из-за мокко? Я слышал, что это может вызвать проблемы из-за его имени...

Другие вопросы по тегам