sodatea / vite-jest

First-class Vite integration for Jest
MIT License
401 stars 51 forks source link

react-app-ts example is broken #27

Open SQReder opened 2 years ago

SQReder commented 2 years ago

Repro repository here: https://github.com/SQReder/vite-jest-coverage-issue

> @0.0.0 test:unit /home/username/_proj/vite-jest-coverage
> vite-jest

(node:717715) ExperimentalWarning: VM Modules is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Pre-bundling dependencies:
  react
  react-dom
(this will be run only when your dependencies or config have changed)
 FAIL  src/App.test.tsx
  ✕ renders learn react link (73 ms)

  ● renders learn react link

    Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
    1. You might have mismatching versions of React and the renderer (such as React DOM)
    2. You might be breaking the Rules of Hooks
    3. You might have more than one copy of React in the same app
    See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.

       5 |
       6 | const App: React.FC<{ initial?: number }> = ({ initial = 0 }) => {
    >  7 |   const [count, setCount] = useState(initial);
         |                             ^
       8 |
       9 |   return (
      10 |     <div className={styles.app}>

      at resolveDispatcher (node_modules/react/cjs/react.development.js:1476:13)
      at App (src/App.tsx:7:29)
      at Object.<anonymous> (src/App.test.tsx:7:3)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        2.092 s
Ran all test suites.
  console.error
    Error: Uncaught [Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
    1. You might have mismatching versions of React and the renderer (such as React DOM)
    2. You might be breaking the Rules of Hooks
    3. You might have more than one copy of React in the same app
    See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.]
        at reportException (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)
        at innerInvokeEventListeners (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:341:9)
        at invokeEventListeners (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:274:3)
        at HTMLUnknownElementImpl._dispatch (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:221:9)
        at HTMLUnknownElementImpl.dispatchEvent (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:94:17)
        at HTMLUnknownElement.dispatchEvent (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:231:34)
        at Object.invokeGuardedCallbackDev (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:3994:16)
        at invokeGuardedCallback (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:4056:31)
        at beginWork$1 (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:23964:7)
        at performUnitOfWork (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22779:12) Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
    1. You might have mismatching versions of React and the renderer (such as React DOM)
    2. You might be breaking the Rules of Hooks
    3. You might have more than one copy of React in the same app
    See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
        at resolveDispatcher (/home/username/_proj/vite-jest-coverage/node_modules/react/cjs/react.development.js:1476:13)
        at useState (/home/username/_proj/vite-jest-coverage/node_modules/react/cjs/react.development.js:1507:20)
        at App (/home/username/_proj/vite-jest-coverage/src/App.tsx:7:29)
        at renderWithHooks (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:14985:18)
        at mountIndeterminateComponent (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:17811:13)
        at beginWork (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:19049:16)
        at HTMLUnknownElement.callCallback (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:3945:14)
        at HTMLUnknownElement.callTheUserObjectsOperation (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)
        at innerInvokeEventListeners (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:338:25)
        at invokeEventListeners (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:274:3)
        at HTMLUnknownElementImpl._dispatch (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:221:9)
        at HTMLUnknownElementImpl.dispatchEvent (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:94:17)
        at HTMLUnknownElement.dispatchEvent (/home/username/_proj/vite-jest-coverage/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:231:34)
        at Object.invokeGuardedCallbackDev (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:3994:16)
        at invokeGuardedCallback (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:4056:31)
        at beginWork$1 (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:23964:7)
        at performUnitOfWork (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22779:12)
        at workLoopSync (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22707:5)
        at renderRootSync (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22670:7)
        at performSyncWorkOnRoot (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22293:18)
        at scheduleUpdateOnFiber (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:21881:7)
        at updateContainer (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:25482:3)
        at /home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:26021:7
        at unbatchedUpdates (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22431:12)
        at legacyRenderSubtreeIntoContainer (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:26020:5)
        at Object.render (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:26103:10)
        at /home/username/_proj/vite-jest-coverage/node_modules/@testing-library/react/dist/pure.js:101:25
        at batchedUpdates$1 (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom.development.js:22380:12)
        at act (/home/username/_proj/vite-jest-coverage/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1042:14)
        at render (/home/username/_proj/vite-jest-coverage/node_modules/@testing-library/react/dist/pure.js:97:26)
        at Object.<anonymous> (/home/username/_proj/vite-jest-coverage/src/App.test.tsx:7:3)
        at Promise.then.completed (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/utils.js:390:28)
        at new Promise (<anonymous>)
        at callAsyncCircusFn (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/utils.js:315:10)
        at _callCircusTest (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/run.js:218:40)
        at processTicksAndRejections (internal/process/task_queues.js:95:5)
        at _runTest (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/run.js:155:3)
        at _runTestsForDescribeBlock (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/run.js:66:9)
        at run (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/run.js:25:3)
        at runAndTransformResultsToJestFormat (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:167:21)
        at jestAdapter (/home/username/_proj/vite-jest-coverage/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:82:19)
        at runTestInternal (/home/username/_proj/vite-jest-coverage/node_modules/jest-runner/build/runTest.js:389:16)
        at runTest (/home/username/_proj/vite-jest-coverage/node_modules/jest-runner/build/runTest.js:475:34)
        at TestRunner.runTests (/home/username/_proj/vite-jest-coverage/node_modules/jest-runner/build/index.js:111:12)
        at TestScheduler.scheduleTests (/home/username/_proj/vite-jest-coverage/node_modules/@jest/core/build/TestScheduler.js:333:13)
        at runJest (/home/username/_proj/vite-jest-coverage/node_modules/@jest/core/build/runJest.js:387:19)
        at _run10000 (/home/username/_proj/vite-jest-coverage/node_modules/@jest/core/build/cli/index.js:408:7)
        at runCLI (/home/username/_proj/vite-jest-coverage/node_modules/@jest/core/build/cli/index.js:261:3)
        at Object.run (/home/username/_proj/vite-jest-coverage/node_modules/jest-cli/build/cli/index.js:163:37)

      at VirtualConsole.<anonymous> (node_modules/jsdom/lib/jsdom/virtual-console.js:29:45)

  console.error
    The above error occurred in the <App> component:

        at App (/home/username/_proj/vite-jest-coverage/src/App.tsx:6:48)

    Consider adding an error boundary to your tree to customize error handling behavior.
    Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.

      at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:20085:23)

/home/username/_proj/vite-jest-coverage/node_modules/execa/lib/error.js:60
                error = new Error(message);
                        ^

Error: Command failed with exit code 1: node --experimental-vm-modules /home/username/_proj/vite-jest-coverage/node_modules/jest/bin/jest.js
    at makeError (/home/username/_proj/vite-jest-coverage/node_modules/execa/lib/error.js:60:11)
    at Function.module.exports.sync (/home/username/_proj/vite-jest-coverage/node_modules/execa/index.js:194:17)
    at file:///home/username/_proj/vite-jest-coverage/node_modules/vite-jest/bin/vite-jest.js:11:7
    at ModuleJob.run (internal/modules/esm/module_job.js:170:25)
    at async Loader.import (internal/modules/esm/loader.js:178:24)
    at async Object.loadESM (internal/process/esm_loader.js:68:5) {
  shortMessage: 'Command failed with exit code 1: node --experimental-vm-modules /home/username/_proj/vite-jest-coverage/node_modules/jest/bin/jest.js',
  command: 'node --experimental-vm-modules /home/username/_proj/vite-jest-coverage/node_modules/jest/bin/jest.js',
  escapedCommand: 'node --experimental-vm-modules "/home/username/_proj/vite-jest-coverage/node_modules/jest/bin/jest.js"',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @0.0.0 test:unit: `vite-jest`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @0.0.0 test:unit script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/username/.npm/_logs/2021-09-29T13_40_42_893Z-debug.log

Process finished with exit code 1

vite-jest: 0.0.3 node: v14.17.5