2016-03-11 3 views
0

Скажите, что у меня есть глубоко вложенная структура компонентов, и я не хочу заглушать зависимости (главным образом, сервисы и аякс-вызовы) всех дочерних компонентов и их дочерних компонентов. Есть ли способ вставить заглушку, как Ember.Component.create({}), в контейнер, чтобы заменить реальную для этого теста. Похоже, что это должно быть возможно, но я не могу понять синтаксис или найти его документально.Stubbing child components in Ember component test

ответ

5

После экспериментов немного больше, это оказалось очень просто:

moduleForComponent('test-component', 'Integration | Component | test', { 
    integration: true, 
    beforeEach: function() { 
     this.register('component:test-component2', Ember.Component.extend()); 
    } 
}); 

Теперь {{test-component2}} внутри {{test-component}} собирается быть компонентом Ember по умолчанию.

+2

Возможно, вы захотите также заглушить свой шаблон 'this.register ('template: components/tests-componentet2', '')' – PSWai

+0

@PSWai спасибо! –