如何解决灰烬+海市age楼:响应模拟错误
// Some code from router
return user.save().catch(e => {
debugger; // says: ErrorClass {isAdapterError: true,stack: "Error: The adapter rejected the commit because it was invalid}
});
// Test
import { Response } from 'miragejs';
test('Show error page when failed uniqueness validation',async function(assert) {
server.post('/users',() => {
return new Response(422,{},{ errors: [{ detail: 'has already been taken' }] });
});
await visit('/users/new?email=test@email.com');
});
我正在使用Ember 3.16
和ember-cli-mirage 1.1.8
。我的测试无法正常工作。我正在嘲笑海市rage楼的422响应。此响应还包含一些错误。在发出请求的路由器中,请求失败(输入catch
),但是当我检查错误时,它不会告诉我状态码或它的详细信息
解决方法
查看emberCLI Mirage V1.1.8的文档,它显示了example来测试错误
test('the user sees an error if the save attempt fails',async function(assert) {
this.server.post('/questions',() => ({
errors: [ 'The database went on vacation' ]
}),500);
await visit('/');
await click('.new');
await fillIn('input','New question');
await click('.save');
assert.dom('h2').hasText('The database went on vacation');
});
指定错误和状态响应是另一种语法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。