问题标签 [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 - 如何使用 ember 编写失败的测试以显示需要 pushObject(而不仅仅是 push)?
我正在寻找一种方法来证明 pushObject 是必需的(在事件触发时推动更改)。
显示这一点的最小/最简单的 qunit 测试是什么?即-它是否需要数组内的项目具有计算属性或者是否足以修改数组(并将该数组绑定到 hbs 模板)?
这里不需要 jsfiddle 只是寻找一个概念上的“我怎样才能证明这一点”
ember.js - Ember 组件测试 - 将控制器上下文传递给组件
我正在尝试对我的几个嵌套组件进行单元测试。这是在应用程序中使用时的外观。
在这个组件中,selectedCountry
和countriesObj
来自路由的控制器。创建测试时如何设置此上下文。这就是我的测试代码的样子
第二个测试不起作用我的上下文没有设置。这通常是如何完成的?一般来说,我对测试完全陌生,所以我可能会做一些愚蠢的事情。
ember.js - 延迟测试直到 Ember.run.later 完成
我正在尝试让一些测试通过ember 插件。它工作正常,直到昨天我添加了一些稍后在运行循环中使用 Em.run.next 运行的代码。
这是我在测试中所做的。
问题是当点击被触发时,后面的函数在andThen
. 到那时我所有的测试都完成了,它会抛出错误。我的印象是,然后应该等待所有异步内容完成。
这就是触发点击时我的代码的样子(点击时触发focusOut事件)
你可以看到它给出了一个错误Uncaught TypeError: Cannot read property 'has' of undefined
。这是来自 focusOut 方法。到函数执行时,组件 _state 正在“销毁”并this.$()
返回未定义。
我尝试了wait
帮助程序,但仍然无法使测试正常工作。这通常是怎么做的。我已提取测试以在 bin 中运行。这是它的链接。
ember.js - 当我运行 ember test 并访问 /tests 结果不一致时,我该如何排除这些不同的原因?
我已经使用 ember 一个多月了,但我还没有找到解决我遇到的一些测试不一致问题的解决方案。
问题是当我从命令行运行 ember test 并在浏览器中访问 /tests 时,有时我会看到不同的测试总数。似乎使用 phantomjs 进行 ember 测试,因为测试运行器正在跳过一些测试。最重要的是,结果似乎也不一致。
例如,我有一个简单的验收测试:
当我访问 /tests 时,我的所有测试都通过了,但是当我运行 Ember 测试时,我遇到了一个失败:
提前感谢您的帮助。
ember.js - ember 事件触发顺序在应用和测试中不同
我编写了这个简单的演示组件来演示一个问题。组件代码如下
当我运行它并单击focus-out
元素时,这是日志的顺序。演示链接
- 单击焦点容器
- 从外部容器集中输出
- 焦点设置为按钮
现在,当我尝试使用以下代码为此编写验收测试时。
日志的顺序不同。链接到演示。
- 单击焦点容器
- 焦点设置为按钮
- 点击测试后
- 从外部容器集中输出
focusOut
日志在最后打印,而不是在点击后日志之前。我期待日志的顺序相同,最后只有一个额外的日志(点击后)。
我不确定这是错误还是我的代码有问题。
我在执行测试时还注意到另一个问题。如果我在测试运行时专注于 chrome 开发工具,则该focusOut
事件根本不会触发。
对此的一些帮助非常感谢。
unit-testing - Ember-cli 具有“需要”关系的单元测试
我正在做我的单元测试,感觉我做错了什么。我有一个有很多关系的“主要”对象
每次我对其相关项目(person
, category
, impact
)进行单元测试时,我都必须重现needs
我的“主要”对象具有的所有值。当我的位置单元测试category
只关心其名称的字符串及其与“主”对象的关系时,它只是感觉不合适
我做错了什么还是有更好的方法来构建我的单元测试来处理关系?
我正在使用 ember-cli 0.1.5、ember 1.9.1 和 ember-data beta 14
ember.js - Ember 集成测试在访问路由后挂起
我正在尝试做一个简单的集成测试,我从 ember-cli 网站上的集成示例开始。现在,当我在浏览器(localhost:4200/tests)中进行测试时,以下情况会路由到我期望的位置,但是它只是挂起并且永远不会成功或失败。
我在这里做错了什么吗?还是有不同的方法来做到这一点?
ember-cli 0.1.5 和 ember 1.9.1
编辑:
启用日志记录表明转换已完成,但 andThen 仍然永远不会解决或被拒绝。
编辑:
我想我已经缩小了范围。我有一个时钟服务,我正在注入所有控制器,但是当我根本不注入它时,我的测试通过了。我需要时钟服务提供的功能,我怎样才能仍然使用它,但让我的集成测试工作?
示例项目可以在https://github.com/RyanHirsch/ember-test-example找到。如果我删除 run.later 测试将通过。
ember.js - Ember Qunit 助手不工作
我一直在使用官方文档中的 ember 助手检查 ember qunit 测试。检查示例(不起作用)我可以看到它们使用了 js 库
但我找不到这个网址。我猜这个库包含期望和访问函数定义。所以我无法获得 qunit 测试作品。有什么地方可以下载ember helpers js库吗,官网例子有错吗?
ember.js - PhantomJS 2.0 挂在 ember 测试中
我有一个简单的 ember-cli 应用程序。我用 运行单元测试ember test
,它在 phantomJS 中运行它们。使用测试Function.prototype.bind
失败,因为 phantom 1.9.x 缺少该 API 的众所周知的问题。我安装了 phantom 2.0,但现在当我运行时ember test
,成功构建后,测试从未运行,它只是挂在那里,没有错误,什么都没有。
关于问题可能在这里,或者如何追踪它的任何想法?
操作系统是 Windows。
ember.js - 使验收测试顺序依赖?
有什么办法可以让测试顺序依赖,所以测试 2 在测试 1 完成之前不会开始?去 localhost:4200/tests 以不确定的方式运行它们,有时它会以正确的顺序运行并且工作正常,但有时它会乱序运行它们,这可能会导致问题,有没有办法强制特定的顺序但保留它们在单独的测试功能中,我总是可以将该测试的所有内容放在一个大测试功能中,以便顺序始终有效,但我觉得它们应该被分解成自己的功能,任何指导将不胜感激?下面的示例只是我希望订单看起来像的示例测试