问题标签 [ember-qunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1630 浏览

ember.js - 测试时不存在初始化的依赖项

我正在使用 ember-cli 0.0.35,并通过初始化程序将依赖项注入到我的组件中。它在开发中效果很好,但是当我运行测试时该属性不存在。似乎测试调用 loadInitializers,但依赖项未显示在 this.subject({});

我不想手动注入它进行测试。有没有更好的方法来处理这个?

初始化器:

失败的测试:

0 投票
2 回答
1669 浏览

ember.js - 测试 ember-data 模型 - 找不到关系

我正在尝试在 ember-cli 应用程序中测试模型关系,但它一直告诉我:No model was found for 'rateType'。它似乎找不到我的模型。

文件

账户模型

测试

我已经尝试过将需求属性设置为骆驼外壳,但它根本不喜欢那样。 needs: ['model:rateType', 'model:fuelGroup']

0 投票
2 回答
1484 浏览

javascript - 如何在 ember-qunit 中测试调用 Ember.run.debounce 的函数?

我要测试的控制器包含以下内容:

现在我想写一个test断言filteredFoos在我设置时更新filterText

为了正确地做到这一点,我需要考虑Ember.run.debounce,并在我执行我的断言之前等待它发生。我怎样才能做到这一点?

0 投票
1 回答
1673 浏览

javascript - ember 控制器中返回承诺的单元测试操作

我有一个执行异步操作的控制器,我想对其进行测试:

...在测试中:

但是,这不可避免地会导致在另一个不相关的测试用例中抛出错误:

这一定会发生,因为this.set('fooLastDoneAt', moment());在这个测试用例完成之后执行,并且测试运行器已经teardown为这个模块做了一个,然后继续下一个;当动作仍在执行时。

有没有办法让我等待一个动作异步完成,然后再进行下一步的单元测试?


@kingpin2k 建议使用此解决方案,您可以在其中将承诺延迟对象传递到操作中。但是,在我的应用程序中,应用程序本身永远不会这样做,如果我需要修改我的应用程序源以便对其进行测试,这似乎是一个基本问题 - 特别是因为它增加了复杂性。

还有其他方法可以使测试执行等待操作完成吗?

0 投票
1 回答
441 浏览

ember.js - App.reset() 在 ember-qunit 拆解时失败

我所有的 ember-qunit 测试都有类似的设置:

其中之一是抛出一个错误: Uncaught TypeError: Cannot read property 'length' of null

这可以追溯到App.reset()我的marketplace_search_spec.js文件中的行:

任何想法为什么我看到这个失败?

0 投票
1 回答
538 浏览

javascript - 如何注册组件以使用 ember-qunit 进行测试?

我正在尝试使用 ember-qunit 进行测试。我在这里有这个伪代码:(http://jsbin.com/zejacati/5/edit

余烬对我说:

第一次真实测试设置失败:尝试注册未知工厂:component:foo-component

我认为是解析器中的问题,但我不知道如何解决它。

有任何想法吗?

谢谢你。

0 投票
0 回答
232 浏览

ember.js - ember-qunit 模块用于需要 ember 默认控制器

根据 ember 指南测试有需求的控制器是这样的:

就我而言,我有一个自定义CommentsController,但我没有自定义PostController,Ember 为我创建了一个。

但是 ember-qunit 抱怨它找不到controller:post. 如果我明确定义它,它工作正常。

我是否必须明确定义 ember-qunit 测试的每个控制器?

0 投票
1 回答
518 浏览

ember.js - 嵌套组件的绑定在 ember-qunit 中不起作用

我们有一个 ember 组件(我们称之为组件 B),该组件的模板包含另一个组件(组件 A)。如果我们已将组件 B 中的计算属性绑定到组件 A 中的属性,则当我们使用 ember-qunit 进行测试时,绑定并不能完全工作,但绑定在实际应用程序中工作。在测试中,如果我们以编程方式在组件 A 或 B 中设置值,则绑定工作,但如果我们使用 ember 助手(例如 fillIn)来设置组件值,绑定不会被触发。对于非嵌套组件,我们不会遇到这个问题。

演示问题的 jsfiddle 在这里:http: //jsfiddle.net/8WLpx/4/

请忽略下面的父组件可能只是嵌套组件的扩展。这只是为了证明这个问题。

如果您愿意,请使用以下代码:

HTML/车把

组件 Javascript

测试代码

0 投票
2 回答
1543 浏览

ember.js - Ember.js:对具有依赖注入的助手进行单元测试?

在初始化程序中,我将一个对象注入到我的助手中,并且它在应用程序中正常工作。

但是在使用 QUnit 测试助手时,我收到以下错误:

类型错误:未定义不是函数。

帮助器无权访问注入的对象,尽管在App.__container__.lookup('myObject:main')模块的 setup 函数中调用时,它确实返回了该对象。

我怎样才能使这项工作?测试类基于fiddle1fiddle2

CoffeeScript 中的以下示例显示了我的问题:

0 投票
1 回答
1379 浏览

ember.js - 测试元素的可见性

我正在使用 QUnit 为 Ember 应用程序编写集成测试。无论如何要测试元素是否可见?

我的集成测试经验来自 Capybara,它默认只检测可见元素。