【发布时间】:2020-05-03 23:59:55
【问题描述】:
是否可以在 Jest .toHaveBeenCalledWith() 块中使用 expect.stringContaining()?
我目前正在使用:
expect(createChatRoomMock).toHaveBeenCalledWith({
creatorId: expect.stringContaining("user_"),
chatRoomUuid: expect.stringContaining("chatRoom_"),
});
但这失败了:
- Expected
+ Received
Object {
- "chatRoomUuid": StringContaining "chatRoom_",
- "creatorId": StringContaining "user_",
+ "chatRoomUuid": "chatRoom_sZ9nj4hC46e4bGz4PjYzpC",
+ "creatorId": "user_nCQsasvYirUwwoEr3j8HsC",
},
这很奇怪,从错误中可以看出,收到的字符串与预期的匹配
我也试过了:
expect(createChatRoomMock).toHaveBeenCalledWith({
creatorId: expect.stringMatching(/user_.*/),
chatRoomUuid: expect.stringMatching(/chatRoom_.*/),
});
结果与上图相同。
如何在 Jest .toHaveBeenCalledWith() 块中使用 expect.stringContaining()?
【问题讨论】:
标签: javascript testing jestjs