Open zhushusun opened 5 years ago
I have encountered this problem too, and am stuck in my testing. Tested the same component where it doesn't display an ElSelect and it worked, then as soon as the ElSelect is displayed I get exactly this error. Have tried setting stubs.transition to false and turning off sync, but the issue is still there. Would appreciate any suggestions on possible workarounds or fixes.
Yes, this project is no longer working.
With a fresh npm install the project installs:
And when running npm test
fails with the following error:
$ npm test
> vue-with-jest-1@0.1.0 test /home/hyshka/work/ref/vue-test-with-jest
> vue-cli-service test:unit
FAIL src/components/__tests__/hello-world.test.js
console.error node_modules/vue/dist/vue.runtime.common.dev.js:621
[Vue warn]: Error in callback for watcher "options": "TypeError: Cannot read property 'querySelectorAll' of undefined"
found in
---> <ElSelect> at packages/select/src/select.vue
<HelloWorld>
<Root>
console.error node_modules/vue/dist/vue.runtime.common.dev.js:1884
TypeError: Cannot read property 'querySelectorAll' of undefined
at VueComponent.options (/home/hyshka/work/ref/vue-test-with-jest/node_modules/element-ui/lib/element-ui.common.js:8632:29)
at Watcher.run (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4548:19)
at flushSchedulerQueue (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4292:13)
at queueWatcher (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4381:9)
at Watcher.update (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4524:5)
at Dep.notify (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:732:13)
at Array.mutator (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:884:12)
at VueComponent.created (/home/hyshka/work/ref/vue-test-with-jest/node_modules/element-ui/lib/element-ui.common.js:8088:25)
at invokeWithErrorHandling (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:1850:57)
at callHook (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4201:7)
at VueComponent.Vue._init (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4983:5)
at new VueComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5128:12)
at createComponentInstanceForVnode (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3277:10)
at init (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3108:45)
at createComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5952:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5899:9)
at createChildren (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6027:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5928:9)
at createChildren (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6027:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5928:9)
at createChildren (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6027:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5928:9)
at VueComponent.patch [as __patch__] (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6449:7)
at VueComponent.Vue._update (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3927:19)
at VueComponent.updateComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4048:10)
at Watcher.get (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4459:25)
at new Watcher (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4448:12)
at mountComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4055:3)
at VueComponent.Object.<anonymous>.Vue.$mount (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:8386:10)
at init (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3112:13)
at createComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5952:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5899:9)
at createChildren (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6027:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5928:9)
at VueComponent.patch [as __patch__] (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6449:7)
at VueComponent.Vue._update (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3927:19)
at VueComponent.updateComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4048:10)
at Watcher.get (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4459:25)
at new Watcher (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4448:12)
at mountComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4055:3)
at VueComponent.Object.<anonymous>.Vue.$mount (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:8386:10)
at init (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3112:13)
at createComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5952:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5899:9)
at VueComponent.patch [as __patch__] (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6449:7)
at VueComponent.Vue._update (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3927:19)
at VueComponent.updateComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4048:10)
at Watcher.get (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4459:25)
at new Watcher (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4448:12)
at mountComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:4055:3)
at VueComponent.Object.<anonymous>.Vue.$mount (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:8386:10)
at init (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:3112:13)
at createComponent (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5952:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5899:9)
at createChildren (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6027:9)
at createElm (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:5928:9)
at VueComponent.patch [as __patch__] (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.common.dev.js:6449:7)
at VueComponent.Vue._update (/home/hyshka/work/ref/vue-test-with-jest/node_modules/vue/dist/vue.runtime.comm```
Have this problem be solved?
I have the same issue
Hi,I found your project when I searching problem and found your answer on https://github.com/ElemeFE/element/issues/12634. (1)After npm install and npm test,there is error as the following: [Vue warn]: Error in callback for watcher "options": "TypeError: Cannot read property 'querySelectorAll' of undefined"
● demo test › ref1
(2) I took some time and found it works with the following package.json:
{ "name": "vue-with-jest-1", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "test": "vue-cli-service test:unit", "lint": "vue-cli-service lint", "test:unit": "vue-cli-service test:unit" }, "dependencies": { "element-ui": "2.4.5", "vue": "2.5.17" }, "devDependencies": { "@vue/cli-plugin-babel": "3.0.4", "@vue/cli-plugin-eslint": "3.0.4", "@vue/cli-plugin-unit-jest": "3.0.4", "@vue/cli-service": "3.0.4", "@vue/test-utils": "1.0.0-beta.20", "babel-core": "7.0.0-bridge.0", "babel-jest": "^23.6.0", "vue-cli-plugin-element": "1.0.0", "vue-template-compiler": "2.5.17" }, "eslintConfig": { "root": true, "env": { "node": true }, "extends": [ "plugin:vue/essential", "eslint:recommended" ], "rules": { "no-console": "off" }, "parserOptions": { "parser": "babel-eslint" } }, "postcss": { "plugins": { "autoprefixer": {} } }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ] } and change @babel/helper-module-transform/lib/index.js line 165 from: return t().callExpression(programPath.hub.addHelper(helper), [expr]); to: return t().callExpression(programPath.hub.file.addHelper(helper), [expr]);
But if I change the vue-template-compiler version > 2.5.17,the same error will happen again.
As the vue version is higher than 2.5.17 in our project,would you like to help us figure out why it cannot work with vue-template-complier and how to fix it, thank you !