您还可以在Expect语句中使用.resolves匹配器,并且 笑话将等待该诺言解决。如果诺言是 拒绝,测试将自动失败。如果您希望 被拒绝时,请使用.rejects匹配器。它的工作类似于 。解决匹配器。如果诺言得以兑现,则测试将 自动失败。
这是我的代码:
body = {
currentPassword: "WrongPassword",
newPassword: "UglyPassword",
};
expect(api(`users/${userId}/password`, { method: 'PATCH', json: body, headers: getAuthHeader(jwtData) })).rejects.toThrow();
body.currentPassword = "BadPassword";
测试失败,因为发送到端点的密码是“ BadPassword”。该文档说,Jest将等待承诺,但事实并非如此。我该如何等待?该测试现在还不确定。