2016-08-16 2 views
2

Ember CLI에서 새로운 도우미를 만들면 tests/unit/helpers 안에 테스트가 만들어집니다. 단위 테스트를 사용하여 헬퍼를 테스트하는 방법을 알고 싶습니다. 나는 문서를 찾으려고 노력했지만 도움이되는 것은 아무것도 없다. 나는 테스트 커버리지를 100 %로 통과하기 위해 createArray 함수를 테스트해야한다. tests/unit/helpers/create-array-test.js도우미를위한 단위 테스트 Ember-cli

module('Unit | Helper | create array'); 

// Replace this with your real tests. 
test('it works', function(assert) { 
    let result = createArray([42]); 
    assert.ok(result); 
}); 

희망 누군가가 나를 인도 할 수

import Ember from 'ember'; 

export function createArray(array) { 
    return array; 
} 

export default Ember.Helper.helper(createArray); 

이 내 단위 테스트입니다 :

지금이 내 도우미입니다.

답변

2

어떤 버전의 Ember CLI를 사용하고 있습니까? 청사진은 이름이 지정된 내보내기로 import으로 테스트 파일을 생성하여 직접 사용할 수 있도록해야합니다.

export function createArray은 이라는 named export을 만듭니다.

import { createArray } from 'app-name/helpers/create-array'; 
import { module, test } from 'qunit'; 

module('Unit | Helper | create array'); 

test('it works', function(assert) { 
    let result = createArray([42]); 
    assert.ok(result); 
}); 

이의 이름으로 app-name 교체 : 테스트에서이 작업을 수행하는 방법을 보여

import { createArray } from 'app-name/helpers/create-array' 

createArray(arrayOfArguments); 

내가 @ykaragol's Twiddle 수정 : 이것은 당신이 함수를 직접 가져 와서 당신처럼 정상적인 기능을 사용할 수 있다는 것을 의미합니다 너의 어플리케이션.

0

twiddle에 게시 된 코드는 헬퍼 유닛 테스트를 해결하는 방법을 이해하는 데 도움이되었습니다. 이것이 내가 테스트 한 방법이며, 매력처럼 작동합니다.

test('Return the argument is passed', function(assert) { 
    assert.ok(createArray([8,4,5,6])); 
    assert.ok(createArray(['test1','test2','test3'])); 
});