Ember - 无法在测试中创建助手

Ember - Cannot create helper in test

我正在尝试为我的测试创建一个助手来模拟模型。

不过,我收到以下错误消息:

: makeInventoryObjects is not defined

我的测试助手:

// ../tests/helpers/make-inventory-objects.js
import Ember from 'ember';

export default Ember.Test.registerAsyncHelper('makeInventoryObjects', function() {
    const inventoryObjects = [{'id': 1, 'name': 'test'}];
    return inventoryObjects;
});

我在助手中的启动应用程序包含 application.injectTestHelpers();

失败的测试:

import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
// I tried to import manually too and it did not work
// import makeInventoryObjects from '../../helpers/make-inventory-objects';

moduleForComponent('model-table', 'Integration | Component | model table', {
    integration: true
});

test('it renders', function(assert) {
    this.set('inventoryResult', makeInventoryObjects());
    this.render(hbs`{{model-table inventoryResult}}`);
    assert.equal(this.$().text().trim(), '');
});   

每当我添加导入的注释时,我都会收到此错误:

: _frontendTestsHelpersMakeInventoryObjects["default"] is not a function

我所做的失败的主要原因是因为我试图在 startApp 中初始化助手,而这只针对 acceptance test,而不是 integration test

我不得不将我的助手重写为:

// ../tests/helpers/make-inventory-objects.js
export default function makeInventoryObjects() {
    const inventoryObjects = [{'id': 1, 'name': 'test'}];
    return inventoryObjects;
});

然后用注释行导入我的测试。

此外,作为旁注,我错过了添加 .jshintrc 我的测试助手 如果我正在进行验收测试 。所以,验收测试也是错误的。