在 Ember.js 中,验收测试(Acceptance Test)用于测试应用程序的完整流程,模拟用户与应用的交互(如点击、填写表单等),并验证页面状态或后端请求是否符合预期。Ajax 请求(通常通过 ember-data
或 fetch
/$.ajax
发起)是验收测试中需要模拟的关键部分,因为直接调用真实接口会导致测试不可控。
ember-test-helpers
:waitFor
等工具函数,用于处理异步请求完成后的断言。mirage/config.js
中配置:mirage/config.js
中配置:tests/acceptance/my-test.js
中:tests/acceptance/my-test.js
中:mirage/config.js
的路由是否与请求 URL 一致。tests/test-helper.js
中确认已导入 startMirage
)。waitUntil
或 settled()
确保所有异步操作完成:waitUntil
或 settled()
确保所有异步操作完成:在 Mirage 中模拟错误:
this.get('/users', () => {
return new Response(500, {}, { error: 'Server Error' });
});
测试中验证错误处理:
test('handles API errors', async function (assert) {
await visit('/users');
assert.dom('.error-message').exists();
});
ember-test-helpers
。通过以上方法,可以高效测试 Ember.js 中与 Ajax 相关的用户流程。
没有搜到相关的文章