ich eine Komponente mich entschieden, die eine untergeordnete Komponente macht, die folgende contextTypes hat:Jest - eine Komponente zu testen, die reagieren-Router verwendet
Component.contextTypes = {router: PropTypes.object.isRequired}
ich völlig neu bin zu scherzen, aber aus Richtung Mokka/Enzym I Ich bin nie auf dieses Problem gestoßen.
Mein erster Test sieht wie folgt aus, und ich bin wirklich nur damit rumgespielt, um zu sehen, wie es funktioniert:
it('should exist',() => {
wrapper = renderer.create(<Companies/>);
let tree = wrapper.toJSON();
expect(tree).toMatchScreenshot();
});
Wenn ich den Test ausführen ich die folgende Fehlermeldung erhalten:
Failed context type: The context `router` is marked as required in `ChildComponent`, but its value is `undefined`.
Gibt es eine Arbeit dafür, oder nur etwas in den Dokumenten, die ich vermisse? Danke im Voraus!
LÖSUNG: Für alle, die in der gleichen Ausgabe läuft, habe ich folgendes in einem before():
MyComponent.contextTypes = {
router: function() {
return {
transitionTo: jest.genMockFunction()
};
}
};
Welche Version von React-Router verwendet es? – paqash
@paqash Version 2.4.1 – Jake