Ich bin eine Komponente mit einer anderen Komponente im Innern wie so Montag:Enzym - wie der Ausgangszustand der inneren Komponente zu testen?
const wrapper = mount(<IntlProvider><SignUpForm /></IntlProvider>);
Die Komponente <SignUpForm />
einen Anfangszustand {errors: {}}
haben sollte. Ich verwende die folgende Behauptung:
expect(wrapper.find(SignUpForm).state('errors')).to.equal({});
aber ich erhalte den folgenden Fehler, wenn die Durchführung des Tests:
Error: ReactWrapper::state() can only be called on the root
Also, wie acces ich den Zustand der <SignUpForm />
Komponente?
Mit dem obigen Beispiel stützt sich die Komponente auf reagieren-intl, die normalerweise die Wurzelkomponente reagieren Router wickelt wie so '' '. ..'''. SignUpForm erwartet Requisiten von diesem react-intl-Paket. Damit SignUpForm eine echte Repräsentation der in der Anwendung verwendeten Komponente ist, muss ich diese Requisiten verspotten. –
JoeTidee
Mit redux habe ich genau das gleiche Problem, also teste ich {MyComp} mit Requisiten vorbereitet und übergebe diese Komponente manuell. Ich weiß, dass es einen Platz für Tippfehler etc. gibt, aber es enthält keine anderen Komponenten als die getesteten. – kzg