양식 구성 요소를 테스트하기 위해 Jest and Enzyme을 사용하고 있으며 클릭 시뮬레이션이 작동하는 데 문제가 있습니다. 참고 : Button
는 스타일 rebass 버튼이며,이 같은 형태로 존재 : 여기 enzyme simulate해야 할 때 '클릭'이 작동하지 않습니다.
<Button
type="reset"
disabled={pristine || submitting}
onClick={() => onClose(dirty)}
>
실패있어 테스트입니다 :
it('should handle the onClose event',() => {
const onCloseSpy = jest.fn();
const renderedComponent = mount(renderFormUtil({ onClose: onCloseSpy }));
expect(onCloseSpy).not.toHaveBeenCalled();
console.log(renderedComponent.find(Form).props().onClose);
renderedComponent
.find(Button)
.first()
.simulate('click');
expect(onCloseSpy).toHaveBeenCalled();
});
여기에 주목해야한다 무엇이라고 나는 대체하는 경우 다음과 같은 라인을 시뮬레이션하십시오 :
갑자기 내 테스트가 통과합니다. 이것이 어떻게 가능한지? onClick 소품이 정확하다면 클릭 이벤트가 소품을 올바르게 호출하지 않는다는 뜻입니까?
를? 'Button '이 어떤 모양인지는 모르겠지만 두 개의 다른 구성 요소를 테스트 중이므로 같은 결과는 기대하지 않습니다. –
죄송합니다. 그 구성 요소는 같습니다. 구성 요소 이름에 Submit라는 단어가 없으므로 단순화되었습니다. –