【问题标题】:Unit test for helpers Ember-cli助手 Ember-cli 的单元测试
【发布时间】:2016-08-16 23:12:02
【问题描述】:

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

希望有人可以指导我。

【问题讨论】:

    标签: unit-testing ember.js ember-testing


    【解决方案1】:

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

    export function createArray 所做的是创建一个名为 createArray 的 named 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 替换为您的应用程序名称。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-11-03
        • 2017-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-09
        • 2023-03-16
        • 2023-04-03
        • 2011-05-05
        相关资源
        最近更新 更多