问题标签 [ember-testing]
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 - 当我执行 App.reset 时,为什么我的reopenClass 状态不会重置?
我有一个简单的模型类,我用它来存储一些全局状态
当我使用 RC6 和 ember-testing 调用 App.reset() 时,我注意到全局人员数组中的任何状态都在测试之间保持不变。我确实看到一个日志显示在测试之间调用了拆卸,它只是没有清除人数。如何在 QUnit 拆解中重置它?
更新
如果你想在 RC6 中模拟“/”路由,一个错误会阻止你的模型钩子在你模拟 xhr 后再次触发(我希望在 RC7+ 中看到这个问题)
ember.js - 如何进行路由转换的 Ember 集成测试?
我在使用 Toran Billup 的TDD 指南对 ember 进行集成测试时遇到问题。
我使用 Karma 作为 Qunit 和 Phantom JS 的测试运行器。
我敢肯定,if 的一半与我初学者对 Ember 运行循环的了解有关。我的问题是两部分:
1) 如何正确地将 vist() 测试包装到运行循环中?
2)如何测试转换?索引路由 ('/') 应转换为名为 'projects.index' 的资源路由。
在此先感谢您提供正确方向的任何指示。
javascript - ember 集成测试错误。处理异步副作用
我正在尝试 ember 的集成测试包(http://emberjs.com/guides/testing/integration/),但我收到了这个错误
我制作了一个 JSBin 来重现这个错误: http: //jsbin.com/InONiLe/9,我们可以通过打开浏览器的控制台看到它。
我相信导致此错误的data.set('isLoaded', true);
原因load()
是App.Posts
. (代码链接:http: //jsbin.com/InONiLe/9/edit)
现在,如果我将该data.set('isLoaded', true);
行包装在一个 中Ember.run()
,那么它将按预期工作并且测试将通过。
但是,我在我的很多模型中都使用了这种模式,我不想只.set()
用一个包装每个Ember.run()
(转换也会触发相同的错误)。我也不想为了使测试工作而更改应用程序代码。
我还能做些什么来修复错误吗?
注意:我故意不在模型挂钩中返回承诺,否则 UI 将被阻塞,直到承诺解决。我希望立即转换到路线,以便我可以显示加载微调器。
javascript - Ember.js:卡在初始集成测试中
在 1.0 版本发布后,我正在探索 Ember,并认为它进展顺利,直到我尝试遵循本关于集成测试的教程。它写得很好而且很有指导意义,但我已经被困在调试设置测试几天了:/ Noob pains ...
这个要点显示了 qunit 上的测试和错误。我正在按照 tute 的设置进行操作,我在其他地方也看到过。
在 IRC 上有人指出这个 tute 使用 R5,而不是最新的 1.0 版本。他不知道此后余烬测试是否发生了变化,但这可能是罪魁祸首。
关于我可能做错了什么的任何想法?这一定是愚蠢的,我知道:)
(在 Rails 4 中使用 Ember)
更新
Márcio 的小提琴让我玩弄添加和删除东西,直到我复制了错误。结果我没有设置任何模板,测试也不喜欢那样,尽管应用程序加载时没有错误,并且 ember 检查器看到了路由等。
ember.js - 集成测试 Ember:如何将 Ember.run 与 ember-auth 一起使用
尝试使用 QUnit 和 Teaspoon 运行测试。我有以下测试:
但是,当我运行测试时,我收到此错误:
我的理解是我的应用程序中有一些异步代码需要包装在 Ember.run 中,因为在测试期间运行循环被禁用。我正在使用 ember-auth,我相信以下代码是登录时发生异步的地方:
但是我不确定如何将它包装在 Ember.run 中,并且我迄今为止尝试过的东西都不起作用。如何将此代码的异步部分包装在 Ember.run 中以便我可以执行测试?
ember.js - 当 emberjs v1 发布时,ember 测试发生了哪些重大变化?
我有一套在 rc6 中运行良好的 qunit 集成测试。我升级到 1.0,现在测试给了我运行循环错误。从 rc6 到 v1 发生了哪些会破坏这些测试的变化?我无法从 ember 博客中发现任何内容。
ember.js - Ember 延迟任务阻止了测试助手承诺的解决
我正在开发一个基于 Ember 的应用程序,使用 QUnit 和 Teaspoon 进行前端集成测试。我目前正在尝试实现一个新功能,该功能涉及使用递归调用的常规服务器查询Ember.run.later
。以更简化的形式,用 CoffeeScript 编写,这段代码是:
然后,我进行了一组不相关的测试,这些测试涉及单击页面的各种元素(使用 中的click
帮助器Ember.Test
),类似于以下内容:
我现在看到的是,当 Teaspoon 进行点击测试(later
由于应用程序设置而导致呼叫挂起)时,它会正确执行点击,但承诺永远不会解决,实际的测试断言也没有经过测试。
我假设承诺没有解决,因为延迟later
调用被认为是click
助手等待完成的异步行为,除了当它完成时它只是设置另一个later
调用 - 所以它永远不会被解决。
有没有解决的办法?
json - Ember-auth QUnit 测试每第二次运行都会失败
我最近设法让我的ember-auth 测试通过,但它还不完美,因为测试每两次都失败(或者如果有几个测试正在运行,那么关于身份验证的每第二次测试都会失败)。
我创建了一个小示例应用程序来演示失败。
您应该能够按照以下步骤重现故障:
如果测试通过,请刷新页面并查看失败并显示“无效 JSON 格式”。下次刷新时它会再次起作用。
ember.js - 黄瓜 this.Before() 钩子未执行(Yeoman 余烬生成器)
在我的 test/features/support/world.js
和我的测试/功能/step_definitions/first_steps
当我在被解雇之前不需要世界时。
我的应用
.sass 缓存
- .tmp
- 应用程序
- bower_components
- ember-mocha-适配器
- bower_components
- 节点模块
- 测试
- features //我为 cucumberjs 功能添加了这个文件夹。
- step_definitions //我添加了
- 库
- 摩卡
- 柴.js
- 期望.js
- 规格
ember.js - ember app kit:一些测试功能未定义
基于 ember 应用套件构建我的第一个 ember 应用。
我想在转换后测试当前路线 - 并在 ember 文档中找到我需要的东西 -和currentRouteName
辅助函数。currentURL
currentPath
但是,如果我使用这些功能,我会得到一个"ReferencError: currentRouteName is not defined"
.
我偶然发现了这个拉取请求,我认为它具有相同事物的初始实现 - 但被关闭以支持将此功能添加到适当的 ember ......暂时,我从这个 PR 复制了代码,它确实得到了拿起并通过了我的测试。
问题:如何在测试中使用我的 ember.js 副本中定义的所有功能?visit
这些路由辅助函数与和函数一起定义click
,我的测试似乎没有问题。或者,我的测试是否从其他地方获取这些功能?