2

当我在 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);
});

希望有人可以指导我。

4

2 回答 2

2

您使用的是什么版本的 Ember CLI?蓝图应该生成一个带有import命名导出的测试文件,以便您可以直接使用它。

什么export function createArray是创建一个名为. createArray这意味着您可以直接导入该函数并像使用普通函数一样使用它:

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

createArray(arrayOfArguments);

我修改了@ykaragol 的 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为您的应用程序的名称。

于 2016-08-17T10:07:05.947 回答
0

twiddle 上发布的代码帮助我理解了如何解决 helpers 单元测试。这就是我测试它的方式,它就像一个魅力。

test('Return the argument is passed', function(assert) {
  assert.ok(createArray([8,4,5,6]));
  assert.ok(createArray(['test1','test2','test3']));
});
于 2016-08-18T16:55:24.223 回答