2016-08-16 78 views
2

當我在Ember CLI上創建一個新的幫助程序時,將在tests/unit/helpers內創建一個測試。我想知道如何使用單元測試來測試這個助手嗎?我試圖找到一個文檔,但沒有任何幫助。我需要測試功能createArray,以便將測試覆蓋率提高到100%。現在幫助者的單元測試Ember-cli

,這是我的助手:

import Ember from 'ember'; 

export function createArray(array) { 
    return array; 
} 

export default Ember.Helper.helper(createArray); 

這是我的單元測試:tests/unit/helpers/create-array-test.js

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

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

希望有人能指導我。

回答

2

您使用的是什麼版本的Ember CLI?藍圖應該生成一個帶有命名導出的import的測試文件,以便您可以直接使用它。

export function createArray所做的是創建一個名爲createArraynamed export。這意味着你可以直接導入功能,並使用它像你這樣的正常功能:

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

createArray(arrayOfArguments); 

我修改@ykaragol's Twiddle演示如何在測試做到這一點:

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用的名字你的申請。

0

發佈在twiddle上的代碼幫助我瞭解如何解決助手單元測試。這就是我對它的測試,它像一個魅力。

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