Testing is essential for making certain React apps are secure and bug-free. Well-liked instruments like Jest and React Testing Library make testing React elements easy.
Let’s take a look at methods to write nice assessments for React:
render Element
Render the part right into a check atmosphere utilizing render
from React Testing Library:
import { render } from '@testing-library/react';
import Button from './Button';
check('shows button textual content', () => {
const { getByText } = render(<Button>Click on</Button>);
count on(getByText('Click on')).toBeInTheDocument();
});
This renders the part nearly for testing.
Hearth Occasions
Simulate person occasions like clicks with fireEvent
:
check('calls onClick prop on click on', () => {
const onClick = jest.fn();
const { getByText } = render(<Button onClick={onClick}>Click on</Button>);
fireEvent.click on(getByText('Click on'));
count on(onClick).toHaveBeenCalledTimes(1);
});
Assertion Matchers
Use matchers like toBeInTheDocument
to make assertions:
// Assertion passes
count on(getByText('Click on')).toBeInTheDocument();
// Assertion fails
count on(getByText('Click on')).not.toBeInTheDocument();
Mock Capabilities
Spy on callbacks with mock capabilities:
const handleChange = jest.fn();
// work together with part
count on(handleChange).toHaveBeenCalledWith('enter worth');
This enables asserting operate calls.
Abstract
- Use render to mount elements
- Hearth occasions to simulate interplay
- Make assertions with matchers
- Spy on callbacks with mock capabilities
Automated testing leads to sturdy React elements you’ll be able to refactor with confidence.