I was asked to do an exercise in interview, but then see in the testing code:
it('check validation when the form is valid', () => {
let formSpy = spy();
const form = mount(<Form isFormValid={formSpy} />);
form.find('.name').simulate('change', { target: { value: 'Peter' } });
form.find('.button').simulate('click');
expect(formSpy.calledWith(true)).toEqual(true);
});
Should I write my <form>
or ReactJS in a certain way, so that the test can know whether the form is valid?
I have my own function named validateForm()
, so how is the test able to see whether my form is valid, because my validation can say the name my be in "title case" and must be at least 2 characters long, but the test doesn't know what my code is for the validation. (I think the test might be in Sinon, although I am not entirely sure).
question from:
https://stackoverflow.com/questions/65932119/how-to-use-formspy-and-isformvalid-in-the-context-of-reactjs 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…