Я работаю над приложением Rails 3.2, которое будет использовать AngularJS. Я могу получить Angular, чтобы делать то, что мне нужно, но мне очень сложно выяснить, как проверить, что я делаю. Я использую guard-jasmine для запуска спецификаций Jasmine с помощью PhantomJS.
Вот (соответствующий) html:
<html id="ng-app" ng-app="app">
<div id="directive-element" class="directive-element">
</div>
</html>
javascript (в coffeescript) выглядит так:
window.Project =
App: angular.module('app', [])
Directive: {}
Project.Directive.DirectiveElement =
->
restrict: 'C'
link: (scope, element, attrs) ->
element.html 'hello world'
Project.App.directive 'directiveElement', Project.Directive.DirectiveElement
Приведенный выше код делает именно то, что он должен делать. Испытания - проблема. Я не могу заставить их работать вообще. Это одна вещь, которую я пробовал. Проводка это в основном только для того, чтобы начать разговор где-нибудь.
describe 'App.Directive.DirectiveElement', ->
it 'updates directive-element', ->
inject ($compile, $rootScope) ->
element = $compile('<div id="app" ng-app="app"><div id="directive'element" class="directive-element"></div></div>')
expect(element.text()).toEqual('hello world')
В стороне, я новичок в AngularJS, поэтому, если есть какие-либо лучшие практики в отношении пространства имен, модулей и т.д., которые я не соблюдаю, руководство будет оценено.
Как мне получить тест для этого?