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에서 언급 한 :테스트 헬퍼는 테스트중인 우리의 객체에 대한 조회 및 인스턴스화을 처리 대상 함수로, 어떤 편의를 제공.
뿐만 아니라 ember-qunit
docs :
당신은 구성 요소 인스턴스에 직접 액세스 할 수 없습니다.
그렇다면 인스턴스 메소드/속성 대신 클래스 기능/속성을 어떻게 테스트 할 수 있습니까?
I입니다 이 경우에 "moduleFor"가 없으면 빠져 나올 수 있을지 궁금하십니까? 그것은 당신이 사용하지 않을 백그라운드에서 인스턴스를 생성하는 데 약간의 낭비가되는 것처럼 보입니다. 객체가 전혀 인스턴스화되지 않은 정적 메소드를 테스트하는 더 깨끗한 방법이 있는지 궁금합니다. –