问题标签 [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 回答
1122 浏览

ember.js - Ember - triggerEvent 助手

我无法在 ember 验收测试中触发“更改”事件。

我有一个带有观察到的“价值”属性的范围滑块。在更改时,滑块会发送一个 api 请求,该请求会根据滑块值使用参数更新 url。

我可以使用 jQuery 在我的测试中更改滑块的值,它成功地更新了 UI 中的滑块...

$("#slider").val(3.0).change();

...但是没有触发更改事件,因此没有 api 调用。对于类似的测试,相同的设置可以正常工作,我可以使用“click”或“fillIn”来触发请求。

我试过同时使用运行循环和 triggerEvent 助手(见下文),但没有运气。

我是否错误地设置了 triggerEvent()?有没有更好的方法来处理这个?

0 投票
1 回答
227 浏览

ember.js - 在测试组之前/之后进行自定义的好方法

我正在为一个 ember 项目编写一些测试,并且我正在寻找一种对某些测试进行分组的好方法,以便它们可以共享相同的设置/拆卸方法。

据我所知,可以通过以下方式完成:

但是,我认为很难确定哪个之前/之后适用于测试,而实际上没有将测试嵌套在moduleFor其中,而 Ember 的自定义模块功能似乎不可能。

有人对我如何更干净地实施这个有任何建议吗?

0 投票
1 回答
61 浏览

ember.js - 直接从开箱即用的测试中导入 ember 插件代码

我正在创建一个 ember 插件,但我在尝试为它编写测试时有点卡住了。这个插件实现了一个命令行选项,而不是运送组件等。因此,在开箱即用的 qunit 测试中,没有一个 moduleFor 类型测试助手与我相关。我没有渲染任何组件,我只是想要一个测试运行器来执行我的命令行选项后面的实现。

要编写我的测试,我只需要我的插件中的各种源文件。例如,位于 root/lib 中的文件。我无法获得可以在 root/tests/integration 下的 qunit 集成测试中找到这些文件的 require/import。这可能吗?我需要一个相对路径,例如:

但那里似乎没有任何效果。为插件创建的文件夹结构如下:

    • 应用程序
    • lib(计划将我的插件 impl 放在这里)
    • 测试
      • 帮手
      • 一体化
      • example-test.js(尝试从此处引用 lib 文件夹中的代码)

在这种情况下,我的选择似乎只是退回到基于插件根目录的一些普通的旧 JS 单元测试(qunit、jasmine 等),而不使用任何 ember 魔法或虚拟应用程序。我想留在 ember generate 插件提供的“开箱即用”路径上,但似乎我需要在这里走自己的路,所以我可以参考我的源文件。

0 投票
0 回答
446 浏览

css - 是否有必要使用 QUnit 测试 css 样式?

我现在正在使用 EmberJS 开发一个 Web 应用程序,同时我使用内置的 QUnit 框架来测试它,我收到了一些关于下面列出的测试和样式的问题。

1 有必要测试css样式吗?我的意思是编写测试用例而不是在浏览器中进行目视检查。

2 我应该在样式表中使用 px 还是 rem ?我以前用rem做响应式设计和HiDPI设备,但最近发现px可以胜任,而且有声音支持px over rem。像这样https://mindtheshift.wordpress.com/2015/04/02/rip-rem-viva-css-reference-pixel/

3 真的,真的很连线...我将跨度的字体大小设置为 15 像素,但 QUnit 测试结果变为 18 像素(html 基本字体大小为 16 像素,手动设置)。只是非常简单的 DOM 结构,没有附加其他字体大小规则。在此处输入图像描述

提前致谢!

0 投票
1 回答
1621 浏览

ember.js - 在 ember 测试中访问 Chrome URL 对象

我正在测试一个 ember 组件,它将调用一个返回承诺并从导航器的 URL 对象调用 createObjectURL 的外部方法:

但是,测试总是会返回:

我试图创建一个服务并注入它,创建一个对象并将其传递给@subject()方法,但仍然如此。有没有办法在 ember 测试中访问 c​​hrome 浏览器的 window.URL对象

0 投票
1 回答
229 浏览

ember.js - 我如何在全球范围内模拟/替换集成测试中的组件?

我有一个“嵌套”组件,它发出一个 Web 请求,我正在使用来自另一个组件“父级”的这个组件。

我正在尝试为“父级”编写一些集成测试,但由于“嵌套”组件的 Web 请求失败,它们失败了。

而不是模拟请求,我只是希望模拟一些“嵌套”功能来阻止网络请求。这很容易实现reopen,但当然这会导致“嵌套”测试失败。

有谁知道是否有一种方法可以存根“嵌套”片段,或者使用注册表将“嵌套”替换为扩展类?

0 投票
1 回答
1431 浏览

ember.js - Cli 海市蜃楼路线在接受测试中不起作用

我正在尝试登录页面的验收测试,使用 cli mirage 作为模拟服务器。从应用程序访问时,在 mirage 中定义的路由可以正常工作。但是当在 ember 测试中尝试它时,它会返回

Mirage:您的 Ember 应用程序尝试 POST ' http://localhost:4200/tests?module=Acceptance | login',但没有定义路由来处理这个请求。在 mirage/config.js 文件中定义与此路径匹配的路由。您忘记添加命名空间了吗?

验收测试

海市蜃楼/配置

如何纠正这个问题?请有人帮助我。

0 投票
1 回答
150 浏览

ember.js - 如何在 Ember 中对使用输出 HTML 的帮助程序的组件进行 QUnit 集成测试?

我有一个 Ember 组件,它使用创建 HTML 的帮助程序,我正在尝试创建一个测试来检查组合组件和帮助程序 HTML 产生的 HTML。

示例...
组件产生:<div class="one"></div>

助手产生:<div class="two"></div>

结合产生:<div class="one"><div class="two"></div></div>

发生的事情是 HTMLBars 没有生成助手的 HTML。它确实输入了输入到帮助器中的 JSON 值。

所以测试产生:<div class="one">true</div>

我是否需要包含一些内容来说明助手应该处于活动状态?

0 投票
1 回答
1322 浏览

ember.js - 将服务注入 mixin Ember2.3+

当我尝试检查注入到 Mixin 中的服务时,我的单元测试套件中弹出一个错误,因为该服务getOwner()已添加到 Ember 中(此处的弃用指南)。

这是我的混音:

这是我的基本单元测试在被 ember-cli 生成后略有变化:

我收到的错误消息很清楚,但我还没有找到解决方案:

错误:断言失败:尝试在没有容器的对象上查找注入的属性,请确保该对象是通过容器实例化的。

应用程序运行时服务就在那里,只是测试失败。 Ember 2.5.1 - Ember-CLI 2.5.0

0 投票
1 回答
242 浏览

ember.js - 由于 rootElement,ember 验收测试错误“断言失败”

有没有人有验收测试错误的经验?我收到错误“错误:断言失败:无法将 'ember-application' 类添加到 rootElement。确保将 rootElement 设置为正文或正文中的元素。” 在任何地方都找不到任何答案。请帮忙。我被困住了。