0
我有一个简单的对象(在app/models/fruit.js
),有一个静态方法:如何使用Ember qUnit测试类函数?
import Ember from 'ember';
const Fruit = Ember.Object.extend({
});
Fruit.reopenClass({
createFruit() {
}
}
export default Fruit;
,我有一个测试(在tests/unit/models/fruit-test.js
):
import Ember from 'ember';
import { moduleFor, test } from 'ember-qunit';
moduleFor('model:fruit', 'Unit | Model | fruit', {
});
test('has static method', function(assert) {
let model = this.subject();
assert.ok(model.createFruit);
});
,因为这个正确失败 - 我的理解 - model
是我班的实际实例,而不是班级本身。
这在testing docs中提到:
测试助手为我们提供了一些方便,比如,处理查询和实例我们的测试对象的主体功能。
您不必到组件实例的直接访问。
那么我该如何测试类函数/属性而不是实例方法/属性?
我想知道在这种情况下是否可以避开“moduleFor”?让它在背景中创建一个你永远不会使用的实例似乎有点浪费,我想知道是否有一种更简洁的方法来测试静态方法,而不需要实例化对象 –