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」?讓它在背景中創建一個你永遠不會使用的實例似乎有點浪費,我想知道是否有一種更簡潔的方法來測試靜態方法,而不需要實例化對象 –