Ich habe Probleme beim Testen eines Formulars submit
Ereignis mit React, TestUtils und Jest.Test React Formular Einreichen mit Jest & TestUtils
Ich habe eine Komponente, die ein <form>
DOM-Element rendert; Die gleiche Komponente verfügt auch über eine Methode, die das Ereignis onSubmit
behandelt und eine Anweisung protokolliert. Mein Ziel ist es, den onSubmit
Handler zu verspotten und zu behaupten, dass er aufgerufen wird.
form component.cjsx
module.exports = React.createClass
# Handle form submissions
handleSubmit: (e) ->
console.log 'Make async call'
# Render a form
render: ->
<form onSubmit={@handleSubmit}>
<input type="submit" />
</form>
__tests __/test-form-component.coffee
jest
.dontMock '../form-component'
React = require 'react/addons'
TestUtils = React.addons.TestUtils
FormComponent = require '../form-component'
describe 'FormComponent', ->
it 'creates a log statement upon form submission', ->
# Render a FormComponent into the dom
formInstance = TestUtils.renderIntoDocument(<FormComponent />)
# Mock the `handleSubmit` method
formInstance.handleSubmit = jest.genMockFunction()
# Simulate a `submit` event on the form
TestUtils.Simulate.submit(formInstance)
# TestUtils.Simulate.submit(formInstance.getDOMNode()) ???
# I would have expected the mocked function to have been called
# What gives?!
expect(formInstance.handleSubmit).toBeCalled()
Verwandte Fragen: