问题标签 [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.
ember.js - 测试时不存在初始化的依赖项
我正在使用 ember-cli 0.0.35,并通过初始化程序将依赖项注入到我的组件中。它在开发中效果很好,但是当我运行测试时该属性不存在。似乎测试调用 loadInitializers,但依赖项未显示在 this.subject({});
我不想手动注入它进行测试。有没有更好的方法来处理这个?
初始化器:
失败的测试:
ember.js - 测试 ember-data 模型 - 找不到关系
我正在尝试在 ember-cli 应用程序中测试模型关系,但它一直告诉我:No model was found for 'rateType'。它似乎找不到我的模型。
文件
账户模型
测试
我已经尝试过将需求属性设置为骆驼外壳,但它根本不喜欢那样。
needs: ['model:rateType', 'model:fuelGroup']
javascript - 如何在 ember-qunit 中测试调用 Ember.run.debounce 的函数?
我要测试的控制器包含以下内容:
现在我想写一个test
断言filteredFoos
在我设置时更新filterText
。
为了正确地做到这一点,我需要考虑Ember.run.debounce
,并在我执行我的断言之前等待它发生。我怎样才能做到这一点?
javascript - ember 控制器中返回承诺的单元测试操作
我有一个执行异步操作的控制器,我想对其进行测试:
...在测试中:
但是,这不可避免地会导致在另一个不相关的测试用例中抛出错误:
这一定会发生,因为this.set('fooLastDoneAt', moment());
在这个测试用例完成之后执行,并且测试运行器已经teardown
为这个模块做了一个,然后继续下一个;当动作仍在执行时。
有没有办法让我等待一个动作异步完成,然后再进行下一步的单元测试?
@kingpin2k 建议使用此解决方案,您可以在其中将承诺延迟对象传递到操作中。但是,在我的应用程序中,应用程序本身永远不会这样做,如果我需要修改我的应用程序源以便对其进行测试,这似乎是一个基本问题 - 特别是因为它增加了复杂性。
还有其他方法可以使测试执行等待操作完成吗?
ember.js - App.reset() 在 ember-qunit 拆解时失败
我所有的 ember-qunit 测试都有类似的设置:
其中之一是抛出一个错误:
Uncaught TypeError: Cannot read property 'length' of null
这可以追溯到App.reset()
我的marketplace_search_spec.js
文件中的行:
任何想法为什么我看到这个失败?
javascript - 如何注册组件以使用 ember-qunit 进行测试?
我正在尝试使用 ember-qunit 进行测试。我在这里有这个伪代码:(http://jsbin.com/zejacati/5/edit)
余烬对我说:
第一次真实测试设置失败:尝试注册未知工厂:
component:foo-component
我认为是解析器中的问题,但我不知道如何解决它。
有任何想法吗?
谢谢你。
ember.js - ember-qunit 模块用于需要 ember 默认控制器
根据 ember 指南测试有需求的控制器是这样的:
就我而言,我有一个自定义CommentsController
,但我没有自定义PostController
,Ember 为我创建了一个。
但是 ember-qunit 抱怨它找不到controller:post
. 如果我明确定义它,它工作正常。
我是否必须明确定义 ember-qunit 测试的每个控制器?
ember.js - 嵌套组件的绑定在 ember-qunit 中不起作用
我们有一个 ember 组件(我们称之为组件 B),该组件的模板包含另一个组件(组件 A)。如果我们已将组件 B 中的计算属性绑定到组件 A 中的属性,则当我们使用 ember-qunit 进行测试时,绑定并不能完全工作,但绑定在实际应用程序中工作。在测试中,如果我们以编程方式在组件 A 或 B 中设置值,则绑定工作,但如果我们使用 ember 助手(例如 fillIn)来设置组件值,绑定不会被触发。对于非嵌套组件,我们不会遇到这个问题。
演示问题的 jsfiddle 在这里:http: //jsfiddle.net/8WLpx/4/
请忽略下面的父组件可能只是嵌套组件的扩展。这只是为了证明这个问题。
如果您愿意,请使用以下代码:
HTML/车把
组件 Javascript
测试代码
ember.js - 测试元素的可见性
我正在使用 QUnit 为 Ember 应用程序编写集成测试。无论如何要测试元素是否可见?
我的集成测试经验来自 Capybara,它默认只检测可见元素。