问题描述
当我尝试使用 jest 运行测试时,我似乎在 vue3 中遇到错误.
I seem to get a error in vue3 when I try to run the tests with jest.
测试套件运行失败找不到模块'vue-template-compiler
这是我尝试运行测试时得到的结果.我知道这个包来自 vue2 并且我得到了@vue/compiler-sfc"已安装,这是 vue3 版本.如果我确实安装了那个 vue-template-compiler 包,我会收到版本不匹配的错误.
This is what I get when I try to run the tests.I know that package is from vue2 and I got "@vue/compiler-sfc" installed which is the vue3 version of this.If I do install that vue-template-compiler package I get the error of version mismatching.
任何已经找到此问题的解决方案的人,或者只是等待他们更新 vue-jest 以使用其他软件包的人.
Anyone that found a solution to this problem yet or is just waiting till they update vue-jest to work with that other package.
这是我的 package.json
this is my package.json
"name": "project",
"version": "0.1.0",
"private": true,
"jest": {
"moduleFileExtensions": [
"js",
"json",
"vue"
],
"transform": {
"^.+\\.vue$": "vue-jest",
"^.+\\.js$": "babel-jest"
}
},
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit -w",
"test:e2e": "vue-cli-service test:e2e",
"lint": "vue-cli-service lint",
"test": "nightwatch",
"testMocha": "mocha",
"testJest": "jest"
},
"dependencies": {
"@vue/cli-plugin-unit-jest": "^4.5.10",
"@vue/compiler-sfc": "^3.0.5",
"autoprefixer": "^9.8.6",
"firebase": "^8.2.3",
"jspdf": "^2.3.0",
"nightwatch": "^1.5.1",
"postcss": "^7.0.35",
"register-service-worker": "^1.7.1",
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.0.2",
"vue": "^3.0.5",
"vue-class-component": "^8.0.0-0",
"vue-jest": "^3.0.7",
"vue-loader": "^15.9.6",
"vue-router": "^4.0.3",
"vue-server-renderer": "^2.6.12",
"vuex": "^4.0.0-0"
},
"devDependencies": {
"@types/chai": "^4.2.11",
"@types/mocha": "^5.2.4",
"@typescript-eslint/eslint-plugin": "^2.33.0",
"@typescript-eslint/parser": "^2.33.0",
"@vue/cli-plugin-e2e-nightwatch": "^4.5.10",
"@vue/cli-plugin-eslint": "^4.5.10",
"@vue/cli-plugin-pwa": "^4.5.10",
"@vue/cli-plugin-router": "^4.5.10",
"@vue/cli-plugin-typescript": "^4.5.10",
"@vue/cli-plugin-unit-mocha": "^4.5.10",
"@vue/cli-plugin-vuex": "^4.5.10",
"@vue/cli-service": "^4.5.10",
"@vue/eslint-config-typescript": "^5.0.2",
"@vue/test-utils": "^2.0.0-beta.14",
"chai": "^4.1.2",
"chromedriver": "^87.0.5",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^7.4.1",
"sass": "^1.32.4",
"sass-loader": "^8.0.2",
"typescript": "~3.9.3",
"vue-cli-plugin-tailwind": "^2.0.5"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/typescript/recommended"
],
"parserOptions": {
"ecmaVersion": 2020
},
"rules": {},
"overrides": [
{
"files": [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)"
],
"env": {
"mocha": true
}
}
]
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
推荐答案
通过将我的 jest.config.js
更改为:
Fixed mine by changing my jest.config.js
to:
module.exports = {
preset: '@vue/cli-plugin-unit-jest',
transform: {
'^.+\\.vue$': 'vue-jest',
},
}
这篇关于测试套件无法运行在 vue3 中使用 jest 时找不到模块 'vue-template-compiler的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!