Wie um zu überprüfen, mehrere Argumente auf mehrere Aufrufe für Scherz Spione?
Habe ich die folgende Funktion in ein Reagieren Komponente:
onUploadStart(file, xhr, formData) {
formData.append('filename', file.name);
formData.append('mimeType', file.type);
}
Dies ist mein test, was zumindest bekommt der spy aufgerufen werden:
const formData = { append: jest.fn() };
const file = { name: 'someFileName', type: 'someMimeType' };
eventHandlers.onUploadStart(file, null, formData);
expect(formData.append).toHaveBeenCalledWith(
['mimeType', 'someMimeType'],
['fileName', 'someFileName']
);
Jedoch die Behauptung nicht funktioniert:
Expected mock function to have been called with:
[["mimeType", "someMimeType"], ["fileName", "someFileName"]]
But it was called with:
["mimeType", "someMimeType"], ["filename", "someFileName"]
Was ist der richtige Weg, um toHaveBeenCalledWith
?
InformationsquelleAutor Andreas Köberle | 2016-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage mock mehrere Anrufe und überprüfen die Argumente in dieser Weise:
wo
mockFn
ist Ihr verspottet name der Funktion.es ist bereits die beste Antwort in unseren Herzen <3
@IlyaSaunkin <3
InformationsquelleAutor Andi
Die Signatur ist
.toHaveBeenCalledWith(arg1, arg2, ...)
, woarg1, arg2, ...
bedeutet, in einem single call (sehen).Wenn Sie testen möchten mehrere Anrufe, nur
expect
es mehrfach.Leider habe ich noch nicht gefunden, eine Methode zu testen, um mehrere Anrufe.
expect
(siehe meine Antwort unten).Diese Methode funktioniert nicht/unterstützt werden - leider!
InformationsquelleAutor Enoah Netzach
Da Scherz 23.0 es ist
.toHaveBeenNthCalledWith(nthCall, arg1, arg2, ....)
https://facebook.github.io/jest/docs/en/expect.html#tohavebeennthcalledwithnthcall-arg1-arg2-Auch wenn Sie nicht ein Beispiel in der Antwort, dieser Punkt ist wirklich gültig! bis zu Ihnen!
InformationsquelleAutor mpetla
Können Sie auch testen
toHaveBeenCalledWith
, und testen Sie mehrere Male, für jeden erwarteten parameter-Kombination.Dem unten angeführten Beispiel tests, die GA wurde drei mal genannt, darunter die drei benötigten plugins.
Im OP-Fall könnten Sie dies testen mit
InformationsquelleAutor Lex
Dieser arbeitete für mich als auch...erstmalige laden der Seite hat ein Standard-Suche...user-Interaktion und klicken Sie auf suchen Sie sich einen anderen suchen...notwendig, um sicherzustellen, die Suche ergänzt die search-Werte korrekt...
InformationsquelleAutor swandog
Andere Lösung basiert auf Andi ein. Wählen Sie den Anruf, den Sie möchten, und überprüfen Sie den Wert der Argumente. In diesem Beispiel wird der erste Anruf ist ausgewählt:
Empfehle ich zu prüfen, diese Scherz-cheatsheet:
https://devhints.io/jest
InformationsquelleAutor Tonatio