gpt4 book ai didi

ember.js - Ember JS : Unit testing a Component says common helpers like 'click' and 'andThen' are undefined

转载 作者:行者123 更新时间:2023-12-03 06:23:48 25 4
gpt4 key购买 nike

TLDR

我正在尝试对一个非常简单的组件进行单元测试。然而,一些非常常见的测试助手似乎没有被定义。这是对组件进行单元测试的特定内容,因为我在集成测试中使用它们没有问题。

现在直接跳到最后的问题。

详细信息

这些错误是通用的:

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 帮助程序创建了 clickandThen 帮助程序函数。我的 moduleForComponent 调用中没有设置和拆卸代码,但看起来我不需要它。我不想在这里测试整个应用程序——只是一个独立的组件。

问题

  1. 还有其他我不知道的方法来注入(inject)这些测试助手吗?
  2. 我写的这些测试错了吗?我不应该在组件测试中使用单击吗?文档是否已经过时了?
  3. 这是否应该按原样支持,这是我应该报告的框架错误吗?

最佳答案

接受级别助手当前依赖于正在启动的应用程序,因此它们不可用于单元级别测试。因为那些没有应用程序。

关于ember.js - Ember JS : Unit testing a Component says common helpers like 'click' and 'andThen' are undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com