我正在开发一个将使用 AngularJS 的 Rails 3.2 应用程序。我可以让 Angular 做我需要做的事情,但是我很难弄清楚如何测试我正在做的事情。我正在使用guard-jasmine 使用PhantomJS 运行Jasmine 规范。
这是(相关的)html:
<html id="ng-app" ng-app="app">
<div id="directive-element" class="directive-element">
</div>
</html>
javascript(在咖啡脚本中)看起来像:
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 的新手,所以如果我没有遵循任何关于命名空间、模块等的最佳实践,我们将不胜感激。
我如何得到这个工作的测试?