当我在Ember CLI上创建新助手时,会在tests/unit/helpers
内创建一个测试。我想知道如何使用单元测试来测试这个助手?我试图找到一份文档,但没有任何帮助。我需要测试函数createArray
,以便将测试覆盖率传递给100%。
现在,这是我的帮手:
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);
});
希望有人可以指导我。
答案 0 :(得分:2)
您使用的是哪种版本的Ember CLI?蓝图应该生成一个带有import
命名导出的测试文件,以便您可以直接使用它。
export function createArray
做的是创建名为createArray
的{{3}}。这意味着您可以直接导入该函数并像使用普通函数一样使用它:
import { createArray } from 'app-name/helpers/create-array'
createArray(arrayOfArguments);
我修改了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
替换为您的应用程序名称。
答案 1 :(得分:0)
在twiddle上发布的代码帮助我理解了如何解决帮助单元测试。这就是我测试它的方式,它就像一个魅力。
test('Return the argument is passed', function(assert) {
assert.ok(createArray([8,4,5,6]));
assert.ok(createArray(['test1','test2','test3']));
});