首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember + Mirage:响应模拟错误

Ember + Mirage:响应模拟错误
EN

Stack Overflow用户
提问于 2020-09-29 04:25:49
回答 1查看 264关注 0票数 0
代码语言:javascript
复制
  // 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。我有一个测试不能正常工作。我在模仿来自幻影的422响应。此响应还包含一些错误。在发出请求的路由器中,请求失败(进入catch),但是当我检查错误时,它没有告诉我状态代码或它的详细信息

EN

回答 1

Stack Overflow用户

发布于 2020-09-29 04:34:13

查看emberCLI MirageV1.1.8中的文档,它显示了用于测试错误的example

代码语言:javascript
复制
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');
});

指定错误和状态响应的语法是不同的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64109151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档