В Ember-CLI 1.13.1, я следующий интеграционный тест в моем компоненте:Ember Интеграция Тест на закрытие действия
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
moduleForComponent('category-tabs', 'Integration | Component | category tabs', {
integration: true
});
test('tapping button fires an external action', function(assert) {
this.on('onTabTouch', function(value) {
assert.equal(value, 'Expense');
});
this.render(hbs`
{{category-tabs onTabTouch=(action "onTabTouch")}}
`);
this.$('button:first').click();
});
Тогда в моем компоненте, у меня есть это действие:
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
handleTabTouch(tab) {
this.attrs.onTabTouch(tab);
}
}
});
Мой тест продолжает говорить об этом:
Действие в названии 'onTabTouch' не найдено в [object Object].
Как проверить действие закрытия? Я также пробовал:
this.set('onTabTouch', function(value) {
assert.equal(value, 'Expense');
});
И это не сработало.
спасибо - любопытно, как исправить это сегодня :) –
Последний должен работать. Я использовал это до сих пор. Разве это не для вас? – rmmmp
Вначале у меня было действие на основе строки (не работало с действиями закрытия) - используя ваш пример, я получил рабочий тест :) –