-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Describe the bug
Starting from Vitest 4.0.7, errors that are intentionally thrown and properly caught by error boundaries or test assertions are being logged to the stderr.
This creates significant noise in test output when testing error handling scenarios. This behavior did not occur in Vitest versions prior to 4.0.7.
Reproduction
https://github.com/NooryA/Vitest-Error-Issue
When you clone the repo, and run npm test with Vitest v4.0.6, no error stack trace will be printed.
But if you use Vitest v4.0.7 and onwards, the following will be printed
Error: Uncaught [Error: expected error from React component] at reportException (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24) at innerInvokeEventListeners (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9) at invokeEventListeners (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3) at HTMLUnknownElementImpl._dispatch (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9) at HTMLUnknownElementImpl.dispatchEvent (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17) at HTMLUnknownElement.dispatchEvent (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34) at Object.invokeGuardedCallbackDev (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:4213:16) at invokeGuardedCallback (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:4277:31) at beginWork$1 (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:27490:7) at performUnitOfWork (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:26599:12) Error: expected error from React component at /home/nsadique/vitest-dummy/repro.test.tsx:16:15 at basicStateReducer (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:15721:41) at updateReducer (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:15845:22) at updateState (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:16185:10) at Object.useState (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:17096:16) at useState (/home/nsadique/vitest-dummy/node_modules/react/cjs/react.development.js:1622:21) at ComponentThatThrows (/home/nsadique/vitest-dummy/repro.test.tsx:12:24) at renderWithHooks (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:15486:18) at updateFunctionComponent (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:19617:20) at beginWork (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:21640:16) Error: Uncaught [Error: expected error from React component] at reportException (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24) at innerInvokeEventListeners (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9) at invokeEventListeners (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3) at HTMLUnknownElementImpl._dispatch (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9) at HTMLUnknownElementImpl.dispatchEvent (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17) at HTMLUnknownElement.dispatchEvent (/home/nsadique/vitest-dummy/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34) at Object.invokeGuardedCallbackDev (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:4213:16) at invokeGuardedCallback (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:4277:31) at beginWork$1 (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:27490:7) at performUnitOfWork (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:26599:12) Error: expected error from React component at /home/nsadique/vitest-dummy/repro.test.tsx:16:15 at basicStateReducer (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:15721:41) at updateReducer (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:15845:22) at updateState (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:16185:10) at Object.useState (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:17096:16) at useState (/home/nsadique/vitest-dummy/node_modules/react/cjs/react.development.js:1622:21) at ComponentThatThrows (/home/nsadique/vitest-dummy/repro.test.tsx:12:24) at renderWithHooks (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:15486:18) at updateFunctionComponent (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:19617:20) at beginWork (/home/nsadique/vitest-dummy/node_modules/react-dom/cjs/react-dom.development.js:21640:16)
System Info
System:
OS: Linux 6.17 Arch Linux
CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
Memory: 21.02 GB / 31.00 GB
Container: Yes
Shell: 5.3.3 - /usr/bin/bash
Binaries:
Node: 24.11.0 - /home/nsadique/.nvm/versions/node/v24.11.0/bin/node
npm: 11.6.1 - /home/nsadique/.nvm/versions/node/v24.11.0/bin/npm
Browsers:
Chromium: 142.0.7444.175
npmPackages:
@vitejs/plugin-react: ^4.3.4 => 4.7.0
vitest: 4.0.15 => 4.0.15Used Package Manager
npm
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.