Wie kann ich die in der Scherz-Mock-Funktion aufgerufenen Argumente erhalten?
Ich möchte das Objekt untersuchen, das als Argument übergeben wird.
javascript
jestjs
Bruno Quaresma
quelle
quelle
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
Immobiliequelle
Tuple type '[]' of length '0' has no element at index '0'.
beim zweiten Mal ein Kompilierungsfehler auftritt0
, können Sie ihn mithilfe von umgehenconst 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");
quelle
mockUpload.mock.calls[0]
Ich ziehe es
lastCalledWith()
vortoHaveBeenCalledWith()
. 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')
quelle