在 ember 中,如何对发送另一个动作的控制器动作进行单元测试?
in ember, how do I unit test controller action that sends another action?
我有以下控制器
MyController = Ember.Controller.extend({
actions: {
doSomething: function(param1, param2) {
this.send('actionName', param1, param2);
}
}
});
有没有办法编写一个单元测试来验证这个控制器是否会冒泡这个动作?
指定 target
您的主题(控制器)并让您的 target
在 actions
对象中声明 actionName
:
import { moduleFor, test } from 'ember-qunit';
moduleFor('controller:my-controller');
test('it fires an action', function(assert) {
let controller = this.subject();
controller.set('target', Ember.Controller.extend({
actions: {
actionName: () => assert.ok(true, 'Action bubbled!')
}
}).create());
controller.send('doSomething');
});
我有以下控制器
MyController = Ember.Controller.extend({
actions: {
doSomething: function(param1, param2) {
this.send('actionName', param1, param2);
}
}
});
有没有办法编写一个单元测试来验证这个控制器是否会冒泡这个动作?
指定 target
您的主题(控制器)并让您的 target
在 actions
对象中声明 actionName
:
import { moduleFor, test } from 'ember-qunit';
moduleFor('controller:my-controller');
test('it fires an action', function(assert) {
let controller = this.subject();
controller.set('target', Ember.Controller.extend({
actions: {
actionName: () => assert.ok(true, 'Action bubbled!')
}
}).create());
controller.send('doSomething');
});