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

ember.js - Ember CLI 模型测试失败

嗨,我正在尝试在 Ember CLI 中编写第一个测试。这就是我的测试的样子

和模型配方/配方模型

如果我运行给定的测试,它会输出:错误:找不到“配方/类别”的模型

如果我在模型上评论 //category 和 //file。测试通过。目前使用夹具适配器。当我创建记录或将它们加载到应用程序的工作流程中时,所有关系都可以正常工作。(如 store.find('recipe/category') 等..)

0 投票
1 回答
620 浏览

ember.js - Ember 验收测试在一次运行时失败

我在验收测试方面遇到问题(ember 0.10.0)。问题是,如果我一个接一个地运行它们(在 URL 中传递测试 ID),测试就会成功运行,但是当我尝试一次运行它们时,它们会因为我认为的一些异步问题而失败(例如尝试单击尚未渲染的元素)。有人遇到过吗?是我的一个测试示例的要点

PS我尝试升级版本:qunit,ember-qunit,ember-cli-qunit,但问题仍然存在(已编辑)

更新 1

这是屏幕截图:https ://pp.vk.me/c627830/v627830110/e718/tAwcDMJ0J4g.jpg

更新 2

我尽可能地简化了测试,现在,他们通过了 50%。我的意思是,我运行所有测试并且它们被标记为成功完成,我再次运行所有测试并且它们失败了。这让我大吃一惊。

0 投票
1 回答
473 浏览

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

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

0 投票
1 回答
559 浏览

ember.js - 更新注入服务时,Ember 组件未在集成测试中更新

我有一个侧边栏组件,它依赖于通过初始化程序注入的侧边栏服务。

然后组件有一个计算的属性标题,它与服务上的相同属性相关联:

这适用于应用程序本身,但是当服务更新时,我无法在集成测试中更新组件。

这是我的非工作集成测试:

有趣的是,如果我在测试中调试并使用控制台抓取组件,然后从组件中抓取 sideBarService,它会知道更新的标题值,甚至组件本身的值标题似乎也已更新,但 dom 永远不会得到更新:

这是一个运行循环问题吗?如果是这样,我需要做什么才能将其关闭?

编辑:关于托兰的评论。这看起来对吗?

0 投票
4 回答
2873 浏览

javascript - findRecord 给出错误“无法读取未定义的属性 '_internalModel'”

在我们的 ember 应用程序中,我们使用以下版本的 ember-data 和 ember-data-factory-guy。

包.json

注意:我们使用的是 active-model 适配器,尚未迁移到 json-api 适配器。

路线:item.js

在开发模式下工作正常,但在运行测试用例时,面临以下问题:

“显示单个项目”的测试用例失败并出现以下错误:

ember-data/lib/system/stpre/finder.js,return声明失败

return promise.then(function (adapterPayload) { Ember.assert("你请求了一个 " + typeClass.typeClassKey + " id " + id + ",但是适配器的响应没有任何数据", adapterPayload);

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/store/finders.js#L32

我们在这里遗漏了什么吗?谁能帮我解决这个问题?我已经尝试将版本升级到最新版本,但仍然面临同样的问题。

0 投票
2 回答
2082 浏览

unit-testing - 获取数据的单元测试 Ember 服务

我有一个 ember 服务,主要关注的是为特定模型和模型的后代获取数据。我在服务中使用它的原因是因为这种特定类型的路由使用的是不是主键的 slug,因此需要执行 astore.query而不是store.find. 当我们获取这个模型时,我有一些逻辑可以查看 ember 存储,看看我们是否可以在进行 api 查询之前从那里加载它。此外,该供应商正在关注 slug 更改并基于此更新当前模型。

我遇到的问题是,当涉及到如何测试这样的事情时,这似乎只有很少的文档。事实上,我在这里的指南中没有看到关于测试服务的部分http://guides.emberjs.com/v2.1.0/

这是相关服务的一个片段。

我希望能够通过商店交互在这里断言几个场景。供应商已经设置,供应商从 peek 过滤器加载,供应商从查询加载。

0 投票
1 回答
556 浏览

ember.js - 测试 Ember.Logger.error 断言

我正在使用 Ember.Logger.error:

我想在 qunit 中测试它:

assert.throws没有捕捉到错误。如果我Ember.Logger.error用一个简单的throw语句替换它就可以了,但肯定有一种方法可以测试记录的 Ember 错误。有人知道路吗?

更新:

我做了一个小插件,将这种能力添加到 QUnit。你可以在这里得到它。

0 投票
1 回答
516 浏览

javascript - Ember 集成测试:承诺在呈现之前被拒绝

我的 Ember.js (2.2) 应用程序中开始出现奇怪的错误。我创建了一个使用全局库(例如 Bloodhound)的新组件。突然,我的一些其他 UNRELATED/UNTOUCHED 组件集成测试停止工作,返回以下错误:Promise rejected before it renders: Assertion Failed: You cannot use the same root element (#ember-testing) multiple times in an Ember.Application

我不知道在使用ember test. 很奇怪。

我目前正试图弄清楚如何处理我的全球图书馆情况,这是一个现有的和最近更新的应用程序......我现在无法做出巨大的改变。而且我当然不能因为需要它而放弃这个新组件……该怎么办?

0 投票
1 回答
220 浏览

ember.js - Ember 测试页面返回 404 错误

我正在尝试将单元测试添加到过去两年开发并定期更新到最新 ember 版本的现有项目中。

为此,我首先运行

该过程已启动,但随后 Web 浏览器打开,我在浏览器窗口中收到以下错误消息:

数字会发生变化,但我可以删除它以获得相同的结果。访问/只是重定向到/tests/index.html?hidepassed,结果相同。

这是输出curl

当单元测试服务器未运行时,端口被关闭,因此它似乎是正确的 Web 服务器,而不是我系统上的其他东西。

当我使用 ember-cli 创建一个新项目时,测试页面可以正常工作。我已经比较了tests目录 、testem.json和中的所有文件ember-cli-build.js,但我找不到任何可能导致此问题的差异。bower.jsonpackage.json

有没有人知道我可以寻找什么来使它与我现有的项目一起工作?

我正在运行 ember 2.2.0 和 ember-cli 1.13.13。如果有任何区别,则 ember 项目通常运行通过ember-cli-rails-addon.

0 投票
1 回答
1152 浏览

ember.js - 未捕获的错误:找不到模块“ember-qunit”。奇怪的开箱即用的 ember-cli 行为

我相信我可能在这里遇到了环境问题,但我对如何解决它感到很困惑。我创建了一个 ember-cli 项目,将其提交给 git,并添加了一些东西。我运行了典型的npm install && bower install命令并尝试了ember s.

尽管该站点加载正常,但当我浏览到http://localhost:4200/tests/以确保 qunit 已启动并运行时,我遇到了一些错误。

Uncaught Error: Could not find module `ember-qunit` imported from `ember-project/tests/test-helper

Uncaught Error: Assertion Failed: The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".

这立即引发了一个危险信号,因为我之前创建了几个 ember 项目并且没有遇到类似的问题。我让我的合作伙伴(我在学校)检查项目,运行npm install && bower install && ember squnit 模块,他们工作得很好!

我曾多次尝试 git clone 一个新的 repo,甚至完全卸载了 node 和 bower,但无论我尝试什么,我似乎都无法进行正常的 /tests 结帐。

我的合作伙伴都在运行虚拟机——Ubuntu 和 Debian,而我在 Mac 上,但这似乎不是什么大问题,特别是因为我创建了这个项目!

我已经为此寻找了几个地方(hereherehere),但我似乎无法得出一个适合我的结论。

我确实有一个与我小组其他成员相同的 bower.json。我在下面的图片中包含了我的文件结构、我的 bower.json 和我的 tests/index.html。

截屏

以下是一些环境统计数据:

我确实注意到的一件事是当我这样做以查看 npm 的版本时有所不同,但我不确定这是否重要。