问题标签 [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.
json - 如何序列化嵌入的 belongsTo 关系
我正在使用主 ember-cli-mirage 分支来利用活动模型序列化程序和关系支持,现在我有一个具有 hasMany 关系的完整工作示例,但现在给出了一个模型用户,我无法弄清楚 hasOne 组织如何将组织json嵌入到用户json中,到目前为止,我一直在尝试使用belongsTo但没有运气,因为它试图将外键添加给用户,看起来如果用户没有组织它会引发错误,因为它验证资源(null,因为没有组织)是否是模型,如果不是,则尝试将其映射为导致错误的集合。
不知道如何实现这种行为,我通过将用户设置为好像它属于组织(实际上是相反的)并将组织 ID 分配给用户组织 ID 来欺骗用户模型,这样它将组织对象嵌入到用户 json,但这显然只是一种 hack,而不是正确/预期的方式来做到这一点,账户 hasOne 是一种常见的模式。
任何建议或建议表示赞赏。
ember.js - 在 Ember 2.2.0 的验收测试中调用 visit() 超时
来自 Rails 世界的新 Ember 开发人员。开发我的第一个 Ember 客户端应用程序以与我们的 API 端点的 Rails 应用程序进行交互。
使用 Ember 2.2.0、ember-cli、ember-cli-mirage 0.1.11 和 PhantomJS 2.0.0,不知何故,在调用visit('/facilities')
验收测试时,我得到的只是超时。
我的app/mirage/config.js
文件似乎正确设置了以下内容:
有什么我想念的吗?
ember.js - 基本的 Ember 应用程序无法使用默认适配器
这是源代码。
我正在从 git repo 的主分支(当前版本 2.2.0-beta.1-master-e803ac7fa6)运行 Ember-CLI,并通过 npm 进行链接。这应该使用 Ember 和 Ember Data 的 2.2.0 版本。在基础教程的中间,我遇到了 Mirage 和 Ember Data 的问题。如果不显式创建应用程序适配器,应用程序将失败。在应该由 Mirage 处理的路由上引发 404 错误,以及许多适配器错误。期间没有显示错误ember serve
。
在试图解决这个问题时,我遇到了另一个问题。运行后ember g adapter application
,应用程序在浏览器中加载,但仍然出现错误,因为这生成了 RESTAdapter 而不是首选的 JSONAPIAdapter。手动切换到 JSONAPIAdapter 后,一切正常。
这是 Ember-CLI 仍然以某种方式使用旧版本的 Ember Data 的问题吗?更新: @Michael 和 @Gaurav 发现了 Ember-CLI 的问题。请参阅他对 Github 问题链接的回答。
不过,最初的问题仍然存在。Ember 是否应该能够在不显式创建适配器的情况下运行?
ember.js - ember-cli-mirage 测试请求参数
我有从路由添加到搜索请求的默认参数。我想在 ember-cli-mirage 中测试这些,但我坚持如何捕获请求或 requestBody 以便我可以断言它。
正在寻找类似于我在此 SO post上找到的内容,但需要访问实际请求而不是 DOM。我可以使用 currentUrl() 访问用户输入的搜索参数(在我的示例中为“文本”参数),但默认参数包含在发送到服务器的请求中,而不是 url。
有没有办法使用 ember-cli-mirage 捕获和断言请求本身?
就像是
编辑
我能够使用 Qunit 的异步帮助程序通过测试,如下所示:
此测试的控制台中仍然出现与 json:api 序列化相关的错误:
将在其他地方打开与此失败相关的另一个问题并将其链接到评论中。
ember.js - Ember-CLI-Mirage 强制执行 JSON:API?
遇到了几次失败,想知道我是否正确理解 Mirage:
1.在 ember-cli-mirage 中,我定义的服务器响应是否应该反映我的实际服务器返回的内容是否正确?例如:
我正在使用自定义序列化程序,上面的内容与我的服务器响应格式相匹配,以获取此路由上的请求,但是,在两次测试中,我遇到了两次失败并出现此错误:normalizeResponse must return a valid JSON API document: meta must be an object
2. mirage 是否强制执行 json:api 格式,这样做是因为我设置测试的方式吗?
例如,我有几个访问上述/athletes
路由的测试,但是当我使用如下所示的异步调用时会发生故障。我很想知道正确覆盖服务器响应行为的适当方法,以及为什么 normalizeResponse 错误出现在控制台中进行 2 次测试,但只会导致下面的测试失败。
结果:
我尝试按照此处最后一个示例中的建议将服务器响应更改为 json:api 格式,但这看起来与我的实际服务器响应完全不同,并导致我的测试失败,因为我的应用程序不解析具有此结构的有效负载。任何提示或建议必须赞赏。
ember.js - Ember-cli-mirage 没有使用 get 显示任何数据
我正在学习 Ember,我一直坚持使用 ember-cli-mirage 制作模拟 api。我修改了 ember 教程和 ember-cli-mirage 站点中指定的配置文件,但每次点击端点时,我什么也得不到。这是我当前的配置文件
就像我说的,当我转到 /api/users 时,它只是一个空白页面。我在这里错过了什么吗?
谢谢!
javascript - Ember Mirage 持久化数据
目前,当我删除或更改一些记录(模型)时,我可以看到HTTP
被拦截的请求Mirage
,并且页面上的数据确实发生了变化。但是在页面重新加载后 - 它会返回。是否可以以Mirage
某种方式配置以避免页面重新加载后回滚数据,并允许我手动进行?
ember.js - 如何在插件项目中使用 ember-cli-mirage
ember test --server
在 ember-cli-addon 项目中运行时,我似乎无法让 ember-cli-mirage 拦截 ember-data 请求。
/tests/dummy/app/adapters/application.js
/tests/dummy/mirage/config.js
但是,在运行时,当我的测试请求所有子管理器并且我收到测试错误时ember test --server
,以下请求会收到 404 。http://localhost:7357/rest/subManagers
Error: Adapter operation failed
测试正在运行http://localhost:7357/6263/tests/index.html?hidepassed
我究竟做错了什么?