2016-06-14 68 views
0

我生成自定义测试佣工自定义测试助手:如何使用ember.js

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'; 

这似乎不是基于documentation是正确的。

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

回答

0

你需要做以下事情,添加助手到测试/ .jshintc。 就是这样。

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

而且你需要导入测试/助理/启动app.js辅助文件

import integrationFor from "./integration-for"; 
+1

尝试,基于http://slides.com/jeffreybiles/deck-15#/6没有任何运气。松懈组中有人提到这些类型的助手只在验收测试中可用。 – typeoneerror