반응 구성 요소의 span 태그를 onClick 테스트하려고합니다.오류 : 예상 모의 함수가 호출되었습니다
<span id="A" onClick={this.changeImage}> Image A</span>
'onClick'에 'changeImage'기능이 호출되고 있는지 테스트하고 싶습니다. 같은 오류를 반환
it('Should call changeImage() function on click',() => {
const spy = jest.spyOn(wrapper.instance(), 'changeImage');
wrapper.find('#A').simulate('click', { target: { id: 'A' } });
expect(spy).toHaveBeenCalled();
});
두 -
//은
describe('Tests',() => {
const wrapper = shallow(<Image />);
it('Should render without exploading',() => {
expect(wrapper).toHaveLength(1);
});
it('Should call changeImage() function on click',() => {
wrapper.instance().changeImage = jest.fn();
wrapper.update();
wrapper.find('#A').simulate('click', { target: { id: 'A' } });
expect(wrapper.instance().changeImage).toHaveBeenCalled();
});
});
는 또한이 시도 test.js. // 오류
● Tests › Should call changeImage() function on click
expect(jest.fn()).toHaveBeenCalled()
Expected mock function to have been called.
누군가가 내가 잘못 뭐하는 거지 지적시겠습니까? 감사.
가능한 복제 (https://stackoverflow.com/questions/43245040/using-jest-to-spy- : 스파이 전에 래퍼를 선언하면이 오류가 발생합니다 on-method-call-in-componentdidmount) –
@OluwafemiSule 고마워요, 알아 냈습니다. 내가 그 링크에서 잘못하고있는 것. :) – remelkabir
'wrapper.instance()'에 대한 참조를 여러 번 호출하는 대신 저장할 수 있습니까? 문제가 해결되었는지 확인 하시겠습니까? 매번 새 인스턴스를 얻는 지 궁금합니다. –