dillon1000/react
Commit
Browse files [tests] add `assertConsole<method>Dev` helpers (#28732)
## Overview
**Internal React repo tests only**
Depends on https://github.com/facebook/react/pull/28710
Adds three new assertions:
- `assertConsoleLogDev`
- `assertConsoleWarnDev`
- `assertConsoleErrorDev`
These will replace this pattern:
```js
await expect(async () => {
await expect(async () => {
await act(() => {
root.render(<Fail />)
});
}).toThrow();
}).toWarnDev('Warning');
```
With this:
```js
await expect(async () => {
await act(() => {
root.render(<Fail />)
});
}).toThrow();
assertConsoleWarnDev('Warning');
```
It works similar to our other `assertLog` matchers which clear the log
and assert on it, failing the tests if the log is not asserted before
the test ends.
## Diffs
There are a few improvements I also added including better log diffs and
more logging.
When there's a failure, the output will look something like:
<img width="655" alt="Screenshot 2024-04-03 at 11 50 08 AM"
src="https://github.com/facebook/react/assets/2440089/0c4bf1b2-5f63-4204-8af3-09e0c2d752ad">
Check out the test suite for snapshots of all the failures we may log.Changed paths6 files
First-parent comparisonpackages/internal-test-utils/ReactInternalTestUtils.js ModifiedM packages/internal-test-utils/__tests__/ReactInternalTestUtils-test.js ModifiedM packages/internal-test-utils/consoleMock.js ModifiedM packages/internal-test-utils/internalAct.js ModifiedM packages/jest-react/src/JestReact.js ModifiedM scripts/jest/matchers/reactTestMatchers.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…