Jest - Wie finde ich eine gerenderte DOM-Komponente mit ID?

9

Ich schreibe einen einfachen Jest-Test, der überprüft, dass meine Komponente gerendert wurde. Ich sehe, dass React's TestUtils Funktionen hat, um gerenderte Komponenten nach Klassen oder nach Tags zu suchen, aber nicht nach ihrem ID-Attribut. Es gibt eine Funktion findAllInRenderedTree , aber die Dokumentation erklärt nicht, was der Rückruf sein sollte erwarten.

Ich würde vermuten, dass der Callback eine Art Elementobjekt erhalten wird, das kein normales DOM-Element oder eine gewöhnliche React-Komponente ist. Was genau wird an den Rückruf von findAllInRenderedTree weitergegeben, und wie soll ich seine Attribute oder zumindest seine ID bekommen?

Ich würde nur console.log die Argumente des Rückrufs, aber ich habe eine harte Zeit Konsole in einem Jest-Test zu arbeiten.

    
Dan Ross 23.06.2015, 10:14
quelle

1 Antwort

8

Das Callback-Argument von findAllInRenderedTree wird an eine Komponenteninstanz übergeben und sollte einen booleschen Wert zurückgeben, der angibt, ob die Komponente im Ausgabearray enthalten sein soll.

In Ihrem Fall finden Sie alle gerenderten DOM-Komponenten mit einer bestimmten ID:

%Vor%

Wenn Sie mit Attributen des tatsächlichen DOM-Knotens testen müssen, können Sie React.findDOMNode(inst) verwenden, um den DOM-Knoten einer gegebenen Komponenteninstanz abzurufen.

    
Alexandre Kirszenberg 23.06.2015, 12:56
quelle

Tags und Links