-
-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Closed
Description
Vue version
3.4.21 (with @vue/compat 3.4.21)
Link to minimal reproduction
https://stackblitz.com/edit/vue2-jest-8qoex3?file=jest.config.js&view=editor
Steps to reproduce
yarn install
yarn test
What is expected?
I would like to run unit tests with Vue Test Utils, while on the migration build. My application has Vue 2 dependencies which cause unit tests to fail when they are run with Vue 3. I would expect to be able to use the migration build to fix this by aliasing vue to @vue/compat via moduleNameMapper. (This is the approach recommended by vue-test-utils-compat though the minimal reproduction uses latest @vue/test-utils.)
What is actually happening?
Running tests with moduleNameMapper: { '^vue$': '@vue/compat' } causes the following TypeError:
TypeError: decode_js.EntityDecoder is not a constructor
...
at new Tokenizer (node_modules/@vue/compat/dist/vue.cjs.js:13619:28)
at Object.<anonymous> (tests/unit/example.spec.ts:6:22)
System Info
System:
OS: Linux 5.0 undefined
CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 0 Bytes / 0 Bytes
Shell: 1.0 - /bin/jsh
Binaries:
Node: 18.18.0 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.2.3 - /usr/local/bin/npm
pnpm: 8.15.3 - /usr/local/bin/pnpm
npmPackages:
vue: ^3.3.4 => 3.4.21 Any additional comments?
This is the same error as in #10148 though it doesn't affect me at build- or runtime, only in Jest.
Reactions are currently unavailable