How can I get the arguments called in jest mock function?
I prefer lastCalledWith()
over toHaveBeenCalledWith()
. They are both the same but the former is shorter and help me reduce the cognitive load when reading code.
expect(mockedFn).lastCalledWith('arg1', 'arg2')
Just use mockObject.calls. In my case I used:
const call = mockUpload.mock.calls[0][0]
Here's the documentation about the mock
property
You can use toHaveBeenCalledWith()
together with expect.stringContaining
or expect.arrayContaining()
or expect.objectContaining()
...
const { host } = new URL(url);
expect(mockedFunction).toHaveBeenCalledWith("param1", expect.stringContaining(`http://${host}...`);
Here is a simple way to assert the parameter passed.
expect(mockedFunction).toHaveBeenCalledWith("param1","param2");