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
我的测试助手 如果我正在进行验收测试 。所以,验收测试也是错误的。
我正在尝试为我的测试创建一个助手来模拟模型。
不过,我收到以下错误消息:
: 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
我的测试助手 如果我正在进行验收测试 。所以,验收测试也是错误的。