In Ember-CLI 1.13.1, ho il seguente test di integrazione nella mia componente:Ember Integrazione di prova per le azioni di chiusura
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();
});
Poi nella mia componente, ho questa azione:
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
handleTabTouch(tab) {
this.attrs.onTabTouch(tab);
}
}
});
Il mio test continua a dire questo:
Un'azione denominata "onTabTouch" non è stata trovata in [oggetto oggetto].
Come si verifica un'azione di chiusura? Ho anche provato:
this.set('onTabTouch', function(value) {
assert.equal(value, 'Expense');
});
E non ha funzionato.
grazie - curioso su come applicare questa patch oggi :) –
Quest'ultimo dovrebbe funzionare. Lo sto usando fino ad ora. Non è per te? – rmmmp
prima ho avuto un'azione basata su stringhe (non ha funzionato con le azioni di chiusura) -utilizzare il tuo esempio mi ha dato un test di lavoro :) –