Jak przetestować dyrektywy AngularJS

Pracuję nad aplikacją Rails 3.2, która będzie używać AngularJS. Mogę sprawić, że Angular zrobi to, czego potrzebuję, ale mam bardzo trudny czas, aby dowiedzieć się, jak przetestować to, co robię. Używam guard-jasmine do uruchamiania specyfikacji Jasmine przy użyciu PhantomJS.

Oto (odpowiedni) html:

<html id="ng-app" ng-app="app">
  <div id="directive-element" class="directive-element">
  </div>
</html>

Javascript (w coffeescript) wygląda tak:

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

Powyższy kod robi dokładnie to, do czego jest przeznaczony. Testy są problemem. Nie mogę ich zmusić do pracy. To jest jedna rzecz, której próbowałem. Publikowanie tego jest głównie po to, aby rozpocząć rozmowę gdzieś.

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')

Na marginesie, jestem nowym użytkownikiem AngularJS, więc jeśli istnieją jakieś najlepsze praktyki dotyczące nazw, modułów itp., Których nie podążam, wskazówki zostaną docenione.

Jak uzyskać test, aby to zadziałało?

questionAnswers(2)

yourAnswerToTheQuestion