Wie kann ich die in der Scherz-Mock-Funktion aufgerufenen Argumente erhalten?
Ich möchte das Objekt untersuchen, das als Argument übergeben wird.
Wie kann ich die in der Scherz-Mock-Funktion aufgerufenen Argumente erhalten?
Ich möchte das Objekt untersuchen, das als Argument übergeben wird.
Antworten:
Verwenden Sie einfach mockObject.calls . In meinem Fall habe ich verwendet:
const call = mockUpload.mock.calls[0][0]
Hier ist die Dokumentation über die mock
Immobilie
Tuple type '[]' of length '0' has no element at index '0'.
beim zweiten Mal ein Kompilierungsfehler auftritt 0
, können Sie ihn mithilfe von umgehen const call = (mockUpload.mock.calls[0] as any[])[0];
.
Hier ist eine einfache Möglichkeit, den übergebenen Parameter zu bestätigen.
expect(mockedFunction).toHaveBeenCalledWith("param1","param2");
mockUpload.mock.calls[0]
Ich ziehe es lastCalledWith()
vor toHaveBeenCalledWith()
. Sie sind beide gleich, aber die erstere ist kürzer und hilft mir, die kognitive Belastung beim Lesen von Code zu verringern.
expect(mockedFn).lastCalledWith('arg1', 'arg2')