javascript - Hvordan kan jeg få argumentene som ble kalt i en jest mock-funksjon?


Hvordan kan jeg få tak i argumentene som ble kalt i en jest mock-funksjon?

Jeg vil inspisere objektet som blir sendt som argument.

Svar #1

Bare bruk mockObject.calls. I mitt tilfelle brukte jeg:

const call = mockUpload.mock.calls[0][0]

Her er dokumentasjonen om mock-egenskapen

Svar #2

Her er en enkel måte å bekrefte parameteren som er sendt.

expect(mockedFunction).toHaveBeenCalledWith("param1","param2");

Svar #3

Du kan bruke toHaveBeenCalledWith() sammen med expect.stringContaining eller expect.arrayContaining() eller expect.objectContaining()

...
const { host } = new URL(url);
expect(mockedFunction).toHaveBeenCalledWith("param1", expect.stringContaining(`http://${host}...`);

Relaterte artikler