2016-12-08 5 views
0

모델을 시뮬레이트하기 위해 테스트를 위해 도우미를 만들려고합니다.Ember - 테스트 도우미를 만들 수 없습니다.

그래도 난, 추적에 오류가 발생 해요 :

: makeInventoryObjects is not defined

내 테스트 도우미 :

// ../tests/helpers/make-inventory-objects.js 
import Ember from 'ember'; 

export default Ember.Test.registerAsyncHelper('makeInventoryObjects', function() { 
    const inventoryObjects = [{'id': 1, 'name': 'test'}]; 
    return inventoryObjects; 
}); 
이 헬퍼에서 내 시작 응용 프로그램은 application.injectTestHelpers();

실패 테스트 포함

:

import { moduleForComponent, test } from 'ember-qunit'; 
import hbs from 'htmlbars-inline-precompile'; 
// I tried to import manually too and it did not work 
// import makeInventoryObjects from '../../helpers/make-inventory-objects'; 

moduleForComponent('model-table', 'Integration | Component | model table', { 
    integration: true 
}); 

test('it renders', function(assert) { 
    this.set('inventoryResult', makeInventoryObjects()); 
    this.render(hbs`{{model-table inventoryResult}}`); 
    assert.equal(this.$().text().trim(), ''); 
}); 
내가 가져 오기의 코멘트를 추가 할 때마다

, 나는이 오류가 :

: _frontendTestsHelpersMakeInventoryObjects["default"] is not a function

답변

0

나는 내가의 startApp 내에서 도우미를 초기화려고하기 때문에 실패했다 짓을했는지 그리고 그에만 수행 무엇 주된 이유 acceptance test의 경우 integration test이 아님. 주석 라인 내 테스트에서 다음

// ../tests/helpers/make-inventory-objects.js 
export default function makeInventoryObjects() { 
    const inventoryObjects = [{'id': 1, 'name': 'test'}]; 
    return inventoryObjects; 
}); 

수입 :

나는 내 도우미를 다시 작성했다.

또한, 보조 노트로 나는 수용 테스트을하고 있다면 내 .jshintrc 내 테스트 도우미 에 추가 놓쳤다. 따라서 수락 테스트도 잘못되었습니다.