Làm cách nào để lấy các đối số được gọi trong hàm jest mock?
Tôi muốn kiểm tra đối tượng được truyền dưới dạng đối số.
Làm cách nào để lấy các đối số được gọi trong hàm jest mock?
Tôi muốn kiểm tra đối tượng được truyền dưới dạng đối số.
Câu trả lời:
Chỉ cần sử dụng mockObject.calls . Trong trường hợp của tôi, tôi đã sử dụng:
const call = mockUpload.mock.calls[0][0]
Đây là tài liệu về mock
tài sản
Tuple type '[]' of length '0' has no element at index '0'.
vào ngày thứ hai 0
, bạn có thể khắc phục nó bằng cách sử dụng const call = (mockUpload.mock.calls[0] as any[])[0];
.
Đây là một cách đơn giản để xác nhận tham số được truyền vào.
expect(mockedFunction).toHaveBeenCalledWith("param1","param2");
mockUpload.mock.calls[0]
Tôi thích lastCalledWith()
hơn toHaveBeenCalledWith()
. Cả hai đều giống nhau nhưng cái trước ngắn hơn và giúp tôi giảm tải nhận thức khi đọc mã.
expect(mockedFn).lastCalledWith('arg1', 'arg2')