Ember.js EmberJS:对组件进行单元测试表示常见的助手,如';单击';和';然后';没有定义 太长,读不下去了

Ember.js EmberJS:对组件进行单元测试表示常见的助手,如';单击';和';然后';没有定义 太长,读不下去了,ember.js,ember-cli,Ember.js,Ember Cli,我试图对一个非常简单的组件进行单元测试。然而,似乎还没有定义一些非常常见的测试助手。这是关于组件单元测试的一些特定内容,因为我在集成测试中使用了这些内容 现在直接跳到最后的问题 细节 这些错误是一般性的: click is not defined andThen is not defined 上下文的堆栈跟踪: Died on test #4 at Object.test (http://localhost:7357/assets/test-support.js:110:11) at

我试图对一个非常简单的组件进行单元测试。然而,似乎还没有定义一些非常常见的测试助手。这是关于组件单元测试的一些特定内容,因为我在集成测试中使用了这些内容

现在直接跳到最后的问题

细节 这些错误是一般性的:

click is not defined
andThen is not defined
上下文的堆栈跟踪:

Died on test #4     at Object.test (http://localhost:7357/assets/test-support.js:110:11)
at http://localhost:7357/assets/skylab.js:14977:15
at mod.state (http://localhost:7357/assets/vendor.js:150:29)
at tryFinally (http://localhost:7357/assets/vendor.js:30:14)
at requireModule (http://localhost:7357/assets/vendor.js:148:5)
at Object.TestLoader.require (http://localhost:7357/assets/test-loader.js:29:9)
at Object.TestLoader.loadModules (http://localhost:7357/assets/test-loader.js:21:18): click is not defined
组件和测试非常基本。组成部分:

import Ember from 'ember';

export default Ember.TextField.extend({
  classNames: ['input-span']
});
测试:

import Ember from 'ember';
import {
  moduleForComponent,
  test
} from 'ember-qunit';

moduleForComponent('custom-input');

test('focus on click', function(assert) {
  assert.expect(1);

  var component = this.subject();
  this.render();

  click('input')

  assert.ok(component.$('input').is(':focus'));
});
最佳猜测 我的最佳猜测是,这些帮助程序在验收测试中工作,因为
startApp
帮助程序创建
click
以及
帮助程序函数。我的
moduleForComponent
调用中没有安装和拆卸代码,但看起来我不需要它。我不想在这里测试整个应用程序——只是一个孤立的组件

问题
  • 有没有其他我不知道的注入这些测试助手的方法
  • 我写这些测试错了吗?我是否应该在组件测试中不使用单击?文档是否已经过时
  • 这应该得到书面支持吗?这是我应该报告的框架错误吗

  • 验收级别帮助程序当前依赖于正在启动的应用程序,因此它们不可用于单元级测试。因为他们没有应用程序。

    试着在Ember.run()@Vaibhav中编写click('input')。好消息是,我刚刚尝试了这个方法,效果很好。坏消息是我只是尝试了上面的代码,没有修改,它也可以工作。我不知道昨天和今天之间发生了什么变化,但现在它似乎完全按照预期工作。发现了差异<代码>余烬。运行
    无关紧要。如果我运行所有测试,
    单击
    。如果我只是运行组件测试(
    ember-test--server
    ,然后选择
    组件:自定义输入
    模块),那么
    单击
    是未定义的。向ember cli提交了一个问题: