React Testing Library


React Testing Library wraps render and fireEvent in a call to act already so most cases should not require using it manually

Where can this be found in the source?

dom-testing-library’s fireEvent function calls the configured eventWrapper, passing it the actual call to dispatch the event:

@testing-library/dom —> src/events.js

function fireEvent(element, event) {
  return getConfig().eventWrapper(() => {
    return element.dispatchEvent(event)

What is eventWrapper? In RTL, the eventWrapper is configured to wrap the call to the callback in a call to React’s act():

@testing-library/react —> src/pure.js

import {
  configure as configureDTL,
} from '@testing-library/dom'
import act, {
} from './act-compat'
  eventWrapper: cb => {
    let result
    act(() => {
      result = cb()
    return result