Привет, у меня есть простой компонент, который мне нужно протестировать:
MyComponent. js -----
import React from 'react';
const MyComponent = (props) => {
onClickHandler = () => {
console.log('clicked');
props.outsideClickHandler();
}
return (
<div>
<span className='some-button' onClick={onClickHandler}></span>
</div>
);
}
MyComponent.test. js ----
import React from 'react';
import { shallow } from 'enzyme';
import MyComponent from './MyComponent';
describe('MyComponent', () => {
const onClickHandler = jest.fn();
it('calls click event', () => {
const wrapper = shallow(<MyComponent />);
wrapper.find('.some-button').simulate('click');
expect(onClickHandler.mock.calls.length).toEqual(1); // tried this first
expect(onClickHandler).toBeCalled(); // tried this next
});
});
Пробовал два вышеупомянутых типа ожидания, мое значение журнала консоли приходит
console.log('clicked'); comes
, но мой тест не проходит, и я получаю следующее:
expect(received).toEqual(expected) // deep equality
Expected: 1
Received: 0