最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

jest toEqual无法使用异常匹配

IT培训 admin 3浏览 0评论

jest toEqual无法使用异常匹配

我是jest的新手,所以我不确定这是不是我的错。所以这是我的测试用例

    it('should throw error if wrong email or phone number is provided', async () => {
      await expect(userService.verifyCredentials('[email protected]', 'sayantan94'))
        .rejects
        .toEqual(new UnauthorizedException('Invalid email or phone number'));
    })

但即使抛出相同的异常,这也会失败。这是输出

FAIL  src/modules/user/user.service.spec.ts (5.156s)
● UserService › verifyCredentials › should throw error if wrong email or phone number is provided

expect(received).toStrictEqual(expected)

Expected value to equal:
  [Error: [object Object]]
Received:
  [Error: [object Object]]

Difference:

Compared values have no visual difference.

  88 |       await expect(userService.verifyCredentials('[email protected]', 'sayantan94'))
  89 |         .rejects
> 90 |         .toEqual(new UnauthorizedException('Invalid email or phone number'));
     |          ^
  91 |     })
  92 |   })
  93 |

我该如何检查?

回答如下:

而不是toEqual尝试toThrow

it('should throw error if wrong email or phone number is provided', async () =>  {        
    await expect(userService.verifyCredentials('[email protected]', 'sayantan94'))
    .rejects
    .toThrow('Invalid email or phone number');
});

参考:https://jestjs.io/docs/en/expect.html#rejects

jest toEqual无法使用异常匹配

我是jest的新手,所以我不确定这是不是我的错。所以这是我的测试用例

    it('should throw error if wrong email or phone number is provided', async () => {
      await expect(userService.verifyCredentials('[email protected]', 'sayantan94'))
        .rejects
        .toEqual(new UnauthorizedException('Invalid email or phone number'));
    })

但即使抛出相同的异常,这也会失败。这是输出

FAIL  src/modules/user/user.service.spec.ts (5.156s)
● UserService › verifyCredentials › should throw error if wrong email or phone number is provided

expect(received).toStrictEqual(expected)

Expected value to equal:
  [Error: [object Object]]
Received:
  [Error: [object Object]]

Difference:

Compared values have no visual difference.

  88 |       await expect(userService.verifyCredentials('[email protected]', 'sayantan94'))
  89 |         .rejects
> 90 |         .toEqual(new UnauthorizedException('Invalid email or phone number'));
     |          ^
  91 |     })
  92 |   })
  93 |

我该如何检查?

回答如下:

而不是toEqual尝试toThrow

it('should throw error if wrong email or phone number is provided', async () =>  {        
    await expect(userService.verifyCredentials('[email protected]', 'sayantan94'))
    .rejects
    .toThrow('Invalid email or phone number');
});

参考:https://jestjs.io/docs/en/expect.html#rejects

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论