问题标签 [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.

0 投票
0 回答
216 浏览

ember-testing - 如何在 ember-testing 和模拟 fb 图形数据中模拟 facebook 登录

我正在为我的 ember 应用程序编写测试。我安装了 ember-cli-mirage

我的验收测试流程包括 facebook 登录

问题是我的测试不等待 facebook 登录弹出并抛出错误无法找到“login_form_label”

0 投票
1 回答
352 浏览

ember.js - Ember 测试:为什么要使用 Assert.?

我看到了很多使用的示例(包括 ember-cli 生成的测试),assert.function()但我可以按原样使用该函数,所以我做错了什么,或者示例只是显示了不是真的必要的限定符?

例如,这些中的任何一个都可以在新生成的单元测试中工作:

assert.expect(1);

expect(1);

如果第二个有效,为什么还要做第一个?

0 投票
1 回答
300 浏览

unit-testing - 具有计算属性的简单 Ember 组件测试

我知道这应该很简单,我只是没有做正确的事情,还没有找到可以模仿的例子,我想我也不完全理解应该在Ember.run()

这是我的组件代码:

我的组件模板:

在我的测试中:

我有三个这样的测试,一个针对三种不同状态中的每一个。如果我只有一个测试,我不需要为了通过测试而将包裹component.set()起来。Ember.run()但是,如果我有所有三个测试,我会得到这个错误:

您已经打开了测试模式,它禁用了运行循环的自动运行。您将需要在运行中包装任何具有异步副作用的代码

但是,如果我确实将每个component.set()调用都放在运行循环中,那么我的测试会由于equal断言期望 1 并得到 0 而失败。我确信这是由于我缺乏理解,但要么set()不是正在运行,否则组件会在断言中重新呈现,因此不知道 status 属性已设置。我已经阅读了一个小时的文档和谷歌搜索,但还没有找到解决方案(更有利的是,一个解释)。

0 投票
0 回答
273 浏览

ember.js - emberjs - 位置类型为“哈希”的路由在测试中不起作用

我将路由位置类型设置为散列,并且一切都在浏览器中运行,但是当我尝试运行测试时,似乎 ember 忽略了散列后 URL 中的所有内容。

例如,以下 URL 在浏览器中有效:

我在控制台中看到以下内容

我到了正确的页面。

但是当我在具有相同 URL 的 ember 测试中调用 visit() 时,我得到 404 并在控制台中看到:

例如,ember 在散列之前停止(未找到是默认 url,我必须捕获所有错误的 url)。

为什么会这样?我如何解决它?

谢谢,

0 投票
0 回答
26 浏览

ember.js - 我可以对基于全局的 Ember 应用程序使用 Ember-CLI 测试吗?

我们有一个不使用 Ember-CLI 的 Ember 应用程序。该指南说使用 Ember-CLI 进行测试。

我们可以使用 Ember-CLI 为应用程序的某些部分编写单元测试吗?这需要迁移到 ES6 模块还是我们可以使用基于全局的源代码进行测试?

0 投票
1 回答
357 浏览

ember.js - 包含组件的组件的集成测试

我有一个使用另一个组件的组件。但它不起作用,因为第一个组件的测试表明它缺少一个helper被调用的curit-select.

0.10您可以添加一个moduleForComponentneeds to the函数,但现在这样做会强制它进入单元测试模式。(

您不需要通过需要依赖:。这样做会强制测试进入单元模式。

组件 1:

组件 2:

现在我正在尝试为第一个组件编写集成测试:

0 投票
1 回答
3157 浏览

javascript - ember 测试通过 chrome,而不是 phantomjs

我对通过 chrome的插件进行了测试,但在 phantomjs 中失败。

这似乎是一个类似于this question的问题。但是,我在那里尝试了解决方案,但它对我不起作用。

代码都可以在上面链接的公共仓库中找到。失败显示在 github 上失败的 travis 构建中。关于如何更好地诊断和修复的任何想法?

编辑——实际的错误信息



更新

根据@knownasilya 的提示,我尝试强制使用可选的 babel 转换es6.spec.symbols: in ember-cli-build.js

然而——没有运气。不过,它看起来确实像一个 es6 转译问题。我没有成功通过选项吗?还有其他提示吗?如果您不想查看存储库,我很乐意发布代码片段。:)

更新 2

还包括:

作品!

现在我要说:

我也在为此寻找一个 polyfill...但是查看ember-collection似乎具有类似配置的 testem 配置,我注意到 phantomjs 测试已关闭!现在的问题是:requestAnimationFrame在 phantomjs 中进行测试的最佳方法是什么?

0 投票
0 回答
198 浏览

javascript - 测试模式下的 Ember 运行循环

我正在使用https://github.com/ride/ember-stripe-service附加组件,一切都运行良好Ember 1.10.1,但由于Ember 1.11.0Ember 的运行循环在 E2E 测试中开始崩溃,说我们正在尝试访问一个被破坏的对象,我一直在尝试修复它,但我不能,所以我做了一个 PR https://github.com/ride/ember-stripe-service/pull/32复制错误,tests/dummytests/integration他们都不知道如何修复它,拜托帮助。

我们认为这与 Stripe.js ( https://js.stripe.com/v2/ ) 有关,因为它们在脚本加载到浏览器中时嵌入了一个 iframe。

0 投票
1 回答
473 浏览

ember.js - Phantomjs 2.0.1 在 /assets/test-loader.js 找不到变量定义

首先,我想说我遇到了这里描述的完全相同的问题。但问题是,答案不适合我,我安装了 babel,将其更新到最新版本,没有任何改变。另外,我卸载了我的 phantomjs 1.9.8 并安装了 2.0.1,我认为这是个好主意,但同样没有结果。有谁知道为什么会发生这种情况?

0 投票
1 回答
365 浏览

ember.js - 在测试 ember 组件集成测试时将服务存根

我正在查看 ember 测试指南,它说当您想要删除服务时执行以下操作

问题是我Uncaught TypeError: this.register is not a function在使用此代码时得到了一个。所以我假设之前的每个this.register('service:location-service', locationStub);都是导致问题的原因。

任何人都知道我该如何解决这个问题,或者有什么更合适的方法来删除服务?这段代码目前在 Ember 的文档中。