프로덕션 환경에서 코드를 실행하는 동안 Ember.js runloop과 상호 작용할 필요는 없지만 테스트에서 Enber.run.end()를 호출하여 테스트를 수행해야하는 경우가 있습니다. 패스. 이것은 다른 테스트를 실패하게 만드는 효과를 노크했을 수 있습니다.Ember.js 및 runloop 테스트
beforeEach ->
$('#jasmine_content').append('<div id="fieldset"></div>')
Ember.test = true
Lead.run()
$ ->
$('body').append($('<div id="jasmine_content"></div>'))
나는 이것이 무엇을 완전히 확실하지 않다 위의 코드에서 true로 Ember.test 플래그를 설정하고있다 :
예를 들어, 여기 내 spec_helper입니다. 일부 테스트에서
window.Lead = Ember.Application.create
Controllers: {Leads: {}}
Models: {}
Views: {}
run: ->
@initEvents()
@.set('search', Lead.Controllers.UrlSearch.create())
# etc.
, 나 자신이 항목은 DOM 등
에있을 것입니다 수 있도록 ember.run.end()를 호출 할 필요가 찾을 :Lead.run()는 엠버 응용 프로그램을 만듭니다
describe 'Controllers', ->
describe 'UrlSearch', ->
it 'should append view', ->
Ember.run.end()
expect($('#goButton').length).toEqual(1)
개별 테스트의 런 루프 종료가 잘못되었습니다. 나는이 내 spec_helper를 업데이트 할 때마다
:beforeEach ->
$('#jasmine_content').append('<div id="fieldset"></div>')
Ember.test = true
Lead.run()
Ember.run.end()
내가 얻을 오류 메시지와 같은 :
는 DOM에없는하는 MetaMorph로부터에 대한 작업을 수행 할 수 없습니다
또는
현재 실행 루프가 있어야합니다.
테스트에서 런 루프를 협상하는 데 유용한 지침이 있습니까?
each_test.js 링크입니다 부서진. – Intentss
@Intentss 좋은 소식, 링크를 업데이트했습니다. – pangratz