gpt4 book ai didi

node.js - 开 Jest toEqual 不适用于异常匹配

转载 作者:行者123 更新时间:2023-11-28 20:18:38 26 4
gpt4 key购买 nike

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

    it('should throw error if wrong email or phone number is provided', async () => {
await expect(userService.verifyCredentials('invalidemail@invaliddomain.com', '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('invalidemail@invaliddomain.com', 'sayantan94'))
89 | .rejects
> 90 | .toEqual(new UnauthorizedException('Invalid email or phone number'));
| ^
91 | })
92 | })
93 |

我该如何检查?

最佳答案

尝试使用 toThrow 而不是 toEqual

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

引用:https://jestjs.io/docs/en/expect.html#rejects

关于node.js - 开 Jest toEqual 不适用于异常匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54687031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com