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 に投稿されたコードは、ヘルパーの単体テストを解決する方法を理解するのに役立ちました。これが私がテストした方法であり、魅力のように機能します。

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 に答える