0

我生成了一个自定义测试助手:

ember generate test-helper integration-for

这是删除了它的代码:

// tests/helpers/integration-for.js

import Ember from 'ember';

export default Ember.Test.registerHelper('integrationFor', function(app, key) {
  return key;
});

我无法让它在组件测试中实际工作。我试过直接使用它:

// tests/integration/pods/components/itegration-item/component-test.js
import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';

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

test('it renders the google analytics integration', function(assert) {
  this.set('integration', integrationFor('key_here'));
});

这会引发ReferenceError: integrationFor is not defined错误。

我也尝试过导入它:

import integrationFor from '../../../helpers/integration-for'; 

根据文档,这似乎不正确。

这些文档在最新版本(> 2.4.x)中没有相应的部分,所以我不确定这是否是处理注册测试助手的正确方法,或者我是否做错了。

4

1 回答 1

0

您需要做以下事情,将帮助程序添加到 tests/.jshintc。像这样的东西。

{
 "predef": [
  "document",
  "window",
  "location",
  ...
  "shouldHaveElementWithCount",
  "dblclick",
  "addContact",
  "integrationFor"
 ],
 ...
}

您需要在 tests/helpers/start-app.js 中导入帮助文件

import integrationFor from "./integration-for";
于 2016-06-14T18:44:09.130 回答