如何解决如果端点返回 404,如何避免 Ember 测试失败?
背景:
我有一个 ember 应用程序,我刚刚从 2.16 更新到 2.18.2(2.x 版本的最新版本)。 我有一个用于测试目的的粗短服务器。
问题
运行我的测试时,某些端点返回 404(这是预期的),但我的测试失败并显示以下日志:
not ok 36 Chrome 89.0 - [undefined ms] - Global error: Uncaught Error: Ember Data Request GET http://127.0.0.1:8882/stubby/patito/8 returned a 404
Payload (Empty Content-Type)
Not Found at http://localhost:9091/assets/vendor.js,line 54879
After execution of test: Acceptance Student | Quizzes with metadata questions: Selection of 'practice quiz' option
---
browser log: |
testContext: [object Object]
ERROR: Uncaught Error: Ember Data Request GET http://127.0.0.1:8882/stubby/patito/8 returned a 404
Payload (Empty Content-Type)
Not Found at http://localhost:9091/assets/vendor.js,line 54879
我的尝试
- 我添加了模拟端点以返回一些数据。这里的问题是添加了太多不必要的数据。
- 绕过那些做这样事情的人:
// tests/test-helper.js
import Qunit from 'qunit';
import { setupOnerror } from '@ember/test-helpers';
Qunit.testStart(() => {
setupOnerror(e => {
if (e.message.includes('404')) return;
// still throw all other errors
throw e;
});
});
是否有任何可能的方法可以按预期标记那些 404,因为它们不是通过特定测试所必需的? 此外,任何有关为什么在 ajax 调用中包含 404 会破坏测试的线索都将不胜感激。
更新
此时我最好的猜测是,当我将 ember-data 从 2.16.2 更新到 2.18.0 时,ember-data 正在尝试重新验证数据(之前从另一个端点加载)。 如果此端点不存在,则抛出异常。
这种行为在 ember-data 2.16.2 中没有发生。
现在想知道如何捕获这些类型的异常:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。