AngularJS를 사용하는 Rails 3.2 응용 프로그램을 작성 중입니다. Angular가 필요한 것을 할 수는 있지만, 내가하고있는 일을 테스트하는 방법을 찾는 데는 매우 어려움을 겪고 있습니다. 나는 PhantomJS를 사용하여 Jasmine 스펙을 실행하기 위해 guard-jasmine을 사용하고 있습니다. 위의 코드는 정확히 의도가 무엇을 할 수 않습니다AngularJS 지시문을 테스트하는 방법
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
:처럼 보이는 (커피 스크립트에서)
<html id="ng-app" ng-app="app">
<div id="directive-element" class="directive-element">
</div>
</html>
자바 스크립트 : 여기
은 (관련) HTML입니다. 테스트가 문제입니다. 나는 그들에게 전혀 일하도록 할 수 없다. 이것이 내가 시도한 한 가지입니다. 이것을 게시하는 것은 대화를 어딘가에 시작하는 것입니다. AS를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와 새로운 오전, 그래서 등 내가 다음 아니라고 네임 스페이스 지정, 모듈,에 관한 모범 사례가있는 경우, 지침 감상 할 수있다.
어떻게 테스트 할 수 있습니까?
plunker가 더 이상 작동하지 않는 것으로 판단되면 작동중인 버전이 있습니까? AngularJS에 대한 Jasmine의 지침을 테스트하는 방법에 관한 문서는 매우 좋지 않으며 큰 그림에있는 것과 같은 예제를 아프게합니다. – Philipp
OK, 실제 테스트에 대한 링크를 제공하기 위해 편집했습니다 :-) –
myElement.children(). scope()에 대해 확실합니까? 나는 나를 위해 일하지 않는다. = ( -> UPD : 나는 $ scope을해야만했다. $ apply() –