问题标签 [ember-cli-mirage]

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 回答
326 浏览

ember.js - Ember 验收测试无法识别下拉菜单的更改

在我的 Ember 应用程序中,有一个控制状态字段的下拉菜单。状态字段控制表格中出现的列数。

如果下拉菜单 = 打开,则有 14 列。否则,有 12 个。该应用程序在这方面表现良好。

我正在尝试为此编写验收测试,但遇到了一些问题。

下拉列表用 id=status-dropdown 标记。它在订单模板/路线上。

在我的验收测试中,我有这个:

但是在测试中列数返回为 14。

通过使用 pauseTest() 调用,我可以看到测试似乎正在处理的 DOM。如果我打开控制台并执行 $('#orders-table thead tr th').length,它会返回 12。不是 14。但测试认为有 14。

是否有一些与 Ember 验收测试和 DOM 上的下拉效果相关的技巧或怪癖?除了上面的 jQuery 调用之外,我是否应该以某种方式更改下拉值?

pauseTest() 返回的 DOM 是否与实际测试认为的 DOM 不同?

我尝试将更改下拉列表的代码移动到“andThen”之前,但这不起作用。我已经尝试将更改嵌套在第一个中的第二个“andThen()”中,但这也不起作用。

如果这很重要,我正在使用 Mirage 进行测试。

编辑添加把手代码:

上述代码作为部分集成到 orders.hbs 模板中。

orders.hbs 代码非常庞大和复杂,但就测试而言,重要的是主表中有 14 列。但最后两列仅在 status = Open 时出现,这通过在相关列的 orders.hbs 模板中调用 {{#if statusIsOpen}} 进行检查。

0 投票
2 回答
323 浏览

ember.js - ember 演示 ember-cli-mirage 在没有后端的服务器上不起作用

我正在准备我的新 ember 应用程序的演示,临时将其部署到静态 http 服务器,没有适当的后端。

我已经将项目配置为从 mirage 中获取数据,并且它在本地运行良好。

问题是当我将它上传到我的 http 服务器时,海市蜃楼似乎没有工作,并且演示引发了:

这是我的海市蜃楼配置:

它可以在我的本地机器上找到,但它不能在 http 服务器上运行,关于如何让演示工作的任何想法?

谢谢,

0 投票
0 回答
233 浏览

javascript - 对 Ember Mirage 的同步请求

我有一段令人沮丧的时光,我不确定是否是 Ember Mirage 导致了问题。我在服务中有以下代码。

我的mirage/config.js文件中也声明了路线。它设置为仅在单元测试期间使用 mirage。

在测试期间,我可以通过 XHR 请求跟踪代码执行,进入 Mirage 路由处理程序,然后……什么也没有。它不会击中定义的成功或错误处理程序Ember.$.get

当我在开发中针对真正的 Web 服务器执行此代码时,它工作正常。

Mirage 支持async:false国旗吗?我还尝试使用this.pretender.get语法来使用此处定义的同步样式声明我的端点:https ://github.com/pretenderjs/pretender#timing-parameter 但仍然没有乐趣......

任何想法,在正确方向上的推动等都将不胜感激。

0 投票
1 回答
50 浏览

javascript - 无法将商店的响应映射到模型 - EmberJS

我正在尝试安装 Mirage 并试图伪造服务器的 ember 应用程序。我正在使用 RestAdapter,模型没有从响应中获取数据。

适配器/application.js

联系人.js(模型)

all.js(路由)

固定装置/contacts.js

场景/default.js

Config.js(幻影)

联系人列表.hbs

我不知道我哪里出错了。

请指导。提前致谢!!

0 投票
1 回答
426 浏览

ember.js - Nginx not getting file available on route through Ember.js

Works on local and github pages but with nginx. Even on nginx I can properly get the json file from the browser, just not within the ember app on nginx.

Results in this error only on Nginx:

location config on nginx:

config/environment.js

}

Any help in resolving the error is much appreciated.

0 投票
1 回答
39 浏览

ember-cli-mirage - 在开发模式下访问 mirage internals (db)?

我知道如何在测试中使用“db”来处理内部海市蜃楼数据库,但我没有发现是否可以在标准路由中访问像“db”这样的内部结构。我了解我的应用程序不知道使用 mirage,因此它可能是不可能的。

0 投票
0 回答
840 浏览

ember.js - Ember CLI Mirage 上的“错误:ENOENT:没有这样的文件或目录”

我是一个极端的初学者。我正在尝试根据 ember 网站上显示的指南使用 Mirage。我所有的代码都或多或少与他们的指南相同。但是,当我转到 localhost 时,我得到一个构建错误和以下内容:

ember generate ember-cli-mirage在它不起作用后再次尝试,但这没有帮助。

我能做些什么来解决这个问题?

谢谢

0 投票
0 回答
5802 浏览

ember.js - 使用 Ember CLI Mirage 模拟多对多关系

提前道歉:我是 Ember (2.2.0) 和 Mirage 的新手,我的任务是为现有的 Ember 应用程序创建验收测试。我的挑战是使用 Mirage(0.1.13)和固定装置(不是工厂)来模拟我们数据中现有的一对多或多对多关系。我找不到任何模拟非平凡关系的完整示例。

考虑以下简单的多对多关系: 一个用户可以有多个角色。

各自的 Ember 模型是:

请注意,它 user-role 是连字符的。

我尝试创建固定装置:

finders.js 当我在上放置断点 时

并检查 adapterPayload I see 的值,例如,

而不是预期的

换句话说,Mirage 不会将用户角色 ID 外键解析到其相应的记录中。我怀疑它与用户角色中的连字符不匹配我的 userRoles.js 文件命名有关。

后端功能(我试图模拟)是使用 JAX-RS JPA 和 Spring 框架实现的,如下所示:

任何帮助将不胜感激。

0 投票
1 回答
856 浏览

javascript - 处理路由时出现 Ember 数据错误 this.store.findALL 不是函数

我目前正在浏览 ember.js 指南,并且我正忙于Ember 数据部分。Ember 数据指南

本教程展示了如何创建 Ember Data 模型并将其与 mirage 结合使用,以在索引页面上呈现一些基本的租赁信息。

我的代码似乎与教程相同(见底部注释),但我的索引页面没有显示任何内容,并且我在 chrome 控制台中收到这些错误:在此处输入图像描述


任何人都可以提供的任何帮助将不胜感激。


这是我的app/models/rentals.js

应用程序/海市蜃楼/config.js

应用程序/路由/index.js

应用程序/模板/index.hbs

注意-- ember.js 指南与当前版本的 ember 稍有过时,所以我也在使用这些对 ember-data.md 文件的编辑。

0 投票
1 回答
308 浏览

javascript - ember-cli-mirage 重定向在 mirage 中注入的 socket.io 客户端

这里发生的问题是,当我通过 node.js 在示例 socekt.io 客户端与此 socket.io 服务器之间连接时(仅运行两个终端并打开客户端和服务器之间的套接字连接)我没有问题。

但是,当我试图将这个 socket.io-client 注入到我的 Ember.js 应用程序中时,正是为了 ember-cli-mirage 它将我的客户端从给定地址重定向:
('http://localhost:8080')
到类似的东西
http://localhost:8080/socket.io/?EIO=3&transport=polling&.....
Mirage 也会向我显示一个我无法处理的错误,即使通过设置精确的命名空间、路由wsClient.connect()方法或在调用wsClient.connect()之前调用this.passthrough()


我还将检查控制台中的错误屏幕截图粘贴到浏览器中:

错误图像


你知道如何解决这个问题吗?提前谢谢你,我也希望这个话题不要重复。