javascript / beginner
Snippet
Simulating User Click Events with FireEvent in Component Tests
Component unit tests verify interactive behavior by firing synthesized DOM events on rendered elements and asserting that state updater functions produce expected changes.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import React from 'react';import { render, screen, fireEvent } from '@testing-library/react';function CounterButton() {const [count, setCount] = React.useState(0);return (<button onClick={() => setCount((prev) => prev + 1)}>Clicked {count} times</button>);}test('increments click count on button press', () => {render(<CounterButton />);const buttonElement = screen.getByRole('button');fireEvent.click(buttonElement);expect(buttonElement).toHaveTextContent('Clicked 1 times');});
react
Breakdown
1
fireEvent.click(buttonElement);
Dispatches a click event to trigger the attached onClick event handler function.
2
expect(buttonElement).toHaveTextContent('Clicked 1 times');
Asserts that the button's DOM node reflects the updated state value.