Skip to content

Commit c984c1b

Browse files
hoxyqAndyPengc12
authored andcommitted
fix[devtools/e2e]: add fallback for act in integration tests (facebook#27842)
facebook#27805 broke integration tests for React DevTools with React 17, these changes introduce a fallback for such case when `act` is not available in `react`, but available in `react-dom`, like before.
1 parent b500f2d commit c984c1b

File tree

1 file changed

+6
-2
lines changed
  • packages/react-devtools-shared/src/__tests__

1 file changed

+6
-2
lines changed

packages/react-devtools-shared/src/__tests__/utils.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ export function act(
1919
recursivelyFlush: boolean = true,
2020
): void {
2121
const {act: actTestRenderer} = require('react-test-renderer');
22-
const actDOM = require('react').unstable_act;
22+
// Use `require('react-dom/test-utils').act` as a fallback for React 17, which can be used in integration tests for React DevTools.
23+
const actDOM =
24+
require('react').unstable_act || require('react-dom/test-utils').act;
2325

2426
actDOM(() => {
2527
actTestRenderer(() => {
@@ -44,7 +46,9 @@ export async function actAsync(
4446
recursivelyFlush: boolean = true,
4547
): Promise<void> {
4648
const {act: actTestRenderer} = require('react-test-renderer');
47-
const actDOM = require('react').unstable_act;
49+
// Use `require('react-dom/test-utils').act` as a fallback for React 17, which can be used in integration tests for React DevTools.
50+
const actDOM =
51+
require('react').unstable_act || require('react-dom/test-utils').act;
4852

4953
await actDOM(async () => {
5054
await actTestRenderer(async () => {

0 commit comments

Comments
 (0)