Ich habe eine Komponente reagieren (dies wird vereinfacht, um das Problem zu demonstrieren):, wie man reagieren Komponentenmethoden mit Scherz verspotten und Enzym
class MyComponent extends Component {
handleNameInput = (value) => {
this.searchValue(value);
};
searchValue = (value) => {
//Do something
}
render() {
reutrn(<div></div>)
}
}
Jetzt möchte ich searchValue
mit dem angegebenen Wert, der handleNameInput()
Anrufe testen .
Um dies zu tun, möchte ich eine jest mock function erstellen, die die Komponentenmethode ersetzt.
Hier mein Testfall ist so weit:
it('handleNameInput',() => {
let wrapper = shallow(<MyComponent/>);
wrapper.searchDish = jest.fn();
wrapper.instance().handleNameInput('BoB');
expect(wrapper.searchDish).toBeCalledWith('BoB');
})
Aber alles, was ich in der Konsole ist SyntaxError
:
Syntax
at XMLHttpRequest.open (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:458:15) at run_xhr (node_modules/browser-request/index.js:215:7) at request (node_modules/browser-request/index.js:179:10) at DishAdmin._this.searchDish (src/main/react/components/DishAdmin.js:155:68) at DishAdmin._this.handleNameInput (src/main/react/components/DishAdmin.js:94:45) at Object.<anonymous> (src/main/react/tests/DishAdmin.test.js:122:24)
Also meine Frage ist, Wie stelle ich Komponentenmethoden mit Enzym richtig vor?
Was ist der Syntaxfehler? –
Zu der Frage hinzugefügt :) –
Ohne genau zu wissen, was die Quelle ist, ist es unmöglich zu helfen - ich sehe keine Syntaxfehler in dem Code, den Sie gepostet haben. –