2014-07-23 3 views
1

테스트를 위해 ember-qunit을 사용하려고합니다. (http://jsbin.com/zejacati/5/edit)ember-qunit으로 테스트 할 구성 요소를 등록하는 방법은 무엇입니까?

Ember.Foo = Ember.Namespace.create(); 

Ember.Foo.FooComponent = Ember.Component.extend({ 
    template: Ember.Handlebars.compile('<h2>Hello!</h2>') 
}); 

Ember.Handlebars.helper('foo-component', Ember.Foo.FooComponent); 

window.App = Ember.Application.create(); 

window.App.setupForTesting(); 
emq.globalize(); 
setResolver(Ember.DefaultResolver.create({ 
    namespace: window.App 
})); 

moduleForComponent('foo-component', 'Foo component testing'); 

test('First true test', function() { 
    var component = this.subject(); 
    ok(true, true); 
}); 

와 타다 남은 나를 사예드 :

설치가 최초의 진정한 테스트에 실패했습니다 component:foo-component

: 알 수없는 공장을 등록하려고 나는 여기 의사 코드를

나는 resolver에서의 문제를 생각하지만 어떻게 고쳐야할지 모르겠다.

아이디어가 있으십니까?

감사합니다.

답변

1

App 개체 대신 Ember 개체에 FooComponent을 입력했기 때문에 문제가 발생한 것 같습니다.

대신에 :

Ember.Foo.FooComponent = Ember.Component.extend({ 
    template: Ember.Handlebars.compile('<h2>Hello!</h2>') 
}); 

대신이 시도 :

App.FooComponent = Ember.Component.extend({ 
    template: Ember.Handlebars.compile('<h2>Hello!</h2>') 
}); 

을 ... 엠버의 기본 해결이 component:foo-component를 찾을 것이다 곳이기 때문이다.

는 나는이 시험에 영향을 얼마나 Ember.Namespace에 익숙하지 않은 (전에 그것을 사용하지 않은), 따라서도입니다 -. 그래서 어떤 공간없이 먼저이 버전을 시도하고 다시 네임 스페이스를 작업하려고

관련 문제