Как зарегистрировать компонент для тестирования с помощью ember-qunit?
Я пытаюсь использовать Ember-Qunit для тестирования. У меня есть этот псевдокод здесь: ( http://jsbin.com/zejacati/5/edit)
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
Я думаю, что проблема в решателе, но я не знаю, как это исправить.
Есть идеи?
Спасибо.
1 ответ
Я думаю, что ваша проблема может быть потому, что вы положили FooComponent
на Ember
объект вместо App
объект.
Вместо:
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>')
});
... потому что это то место, где поисковик по умолчанию Ember будет искать component:foo-component
,
Я не знаком с Ember.Namespace
(не использовал его раньше), и, следовательно, также, как это повлияет на этот тест - поэтому сначала попробуйте эту версию, без какого-либо пространства имен, а затем попытайтесь снова обработать пространство имен.