vue test utils TypeError:无法解构“未定义”或“空”的属性“配置”

2024-01-05

我只是使用 vue test utils 进行简单的单元测试。 但它不起作用。 我不知道.... 帮我

我安装了这个东西......

> $ npm i -D jest @vue/test-utils vue-jest jest-serializer-vue babel-jest babel-core@bridge

> $ npm i -D @babel/core @babel/preset-env

I made 笑话配置.js file

module.exports = {
  moduleFileExtensions: [
    'vue',
    'js'
  ],

  moduleNameMapper: {
    '^~/(.*)$': '<rootDir>/src/$1'
  },

  modulePathIgnorePatterns: [
    '<rootDir>/node_modules',
    '<rootDir>/dist'
  ],

  testURL: 'http://localhost',

  transform: {
    '^.+\\.vue$' : 'vue-jest',
    '^.+\\.jsx?$' : 'babel-jest'
  }
}

和测试/Parent.test.js

import { mount } from '@vue/test-utils'
import Parent from './Parent.vue'

test('Mount', () => {
  const wrapper = mount(Parent)
  expect(wrapper.html()).toBe('')
})

但是 npm run test:unit 错误是这样的

 FAIL  tests/Parent.test.js
  ● Test suite failed to run

    TypeError: Cannot destructure property `config` of 'undefined' or 'null'.

      at Object.getCacheKey (node_modules/vue-jest/lib/index.js:10:5)
      at ScriptTransformer._getCacheKey (node_modules/@jest/transform/build/ScriptTransformer.js:280:41)
      at ScriptTransformer._getFileCachePath (node_modules/@jest/transform/build/ScriptTransformer.js:351:27)
      at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:588:32)
      at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:758:40)
      at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:815:19)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.512 s
Ran all test suites.

包裹正在远离语义版本控制支持各种 Vue 版本(2.x、3.x)和 Jest 版本(26.x、27.x)。所以,如果你正在使用Vue 3.x https://v3.vuejs.org and 开玩笑 27.x https://jestjs.io,你需要安装vue3-笑话 https://www.npmjs.com/package/vue3-jest, not vue-jest https://www.npmjs.com/package/vue-jest.

npm i vue3-jest -D

# or

yarn add vue3-jest --dev

然后,更新您的jest.config.js如下:

module.exports = {
  moduleFileExtensions: ['vue', 'js', 'json', 'jsx'],
  testEnvironment: 'jsdom',
  transform: {
    '^.+\\.vue$': 'vue3-jest',
    '^.+\\js$': 'babel-jest',
  },
}

在撰写此答案时,包命名和版本控制如下所示:

您可以阅读有关新命名和版本控制策略的更多信息here https://github.com/vuejs/vue-jest/issues/355.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue test utils TypeError:无法解构“未定义”或“空”的属性“配置” 的相关文章

随机推荐

  • 导入错误:没有名为“spacy.en”的模块

    我正在开发一个使用 Spacy 的代码库 我使用以下命令安装了 spacy sudo pip3 install spacy 进而 sudo python3 m spacy download en 在最后一个命令结束时 我收到一条消息 Lin
  • 在junit中使用@rule检查错误代码

    I found Rule中的注释jUnit为了更好地处理异常 有没有办法检查错误代码 目前我的代码看起来像 没有 Rule Test public void checkNullObject MyClass myClass null try
  • Ruby Net::SFTP 的公钥/私钥身份验证

    我无法找到用于指定 SFTP 身份验证密钥的文档 想要有类似的东西 export SOME PRIVATE KEY cat tmp some certs privatekey pem then somewhere in the code p
  • 无法在模拟器中运行应用程序:运行时遇到错误(域 = LaunchServicesError,代码 = 0)

    在配置配置文件出现问题后 我无法在模拟器中运行我的应用程序 我正在 Xcode 6 beta 4 中进行快速编码 在证书配置文件出现问题之前 这一切都很好 我尝试过清理构建 检查 xCode6 beta4 的命令行是否运行 检查了构建部署
  • jQuery(反)模式:使用字符串操作构建选择器

    我经常发现自己使用字符串操作 拆分 搜索 替换 连接 连接 来构建选择器 是好是坏 这有什么问题吗 有什么替代方案 只是将它们硬编码为单个字符串 但是您可以在网站上使用约定来组织布局 如果您只是在一个地方定义选择器组件 并使用它来构建选择器
  • 使用 monotouch 在 ios 中自定义自动完成选项列表

    我希望能够为在 Monotouch 中创建的 ios 应用程序中的文本输入提供我自己的可用自动更正 自动完成选项列表 单词列表通过网络服务进行更新 完成搜索时 可以在 Ebay 应用程序中看到此类功能的示例 实现这一目标的最佳方法是什么 您
  • 演示与基于类的模型相关的 Javascript 继承优势

    谁能提供一个具体的示例来展示 Javascript 的原型继承 以说明何时使用传统的基于类 经典 模型是有益的 我见过的其他问题 例如经典继承与原型继承 https stackoverflow com questions 1450582 c
  • 如何使用反射来调节多个属性以检查 LINQ .Where 语句中的相等性,具体取决于传递的类?

    我试图概括一个重复检查器函数 该函数根据对象的类型 检查所述类具有的属性 在配置中提供 是否等于另一个列表中的属性 我决定创建一个字典 它将接受键的类型字符串 书籍 作者 商店等 和需要相等的属性数组 字典条目示例 Book Title C
  • 在 IE 和 JSFiddle 中使用 elem.dataset 时出现问题

    在我在 Chrome 上创建的 JSFiddle 中 我发现它无法在 IE 上工作 我使用的是 IE9 任何与此相关的原因 http jsfiddle net ZSB67 http jsfiddle net ZSB67 var backIm
  • UIView 对象的唯一标识符

    我遇到以下问题 当 UIVIew 上发生某种触摸时 我想存储这个 UIView唯一标识符 比如 objectID 这样当我再次重新打开我的应用程序时 我可以检查可见的 UIView 中是否存在具有存储中唯一 ID 的 UIView 我不想将
  • 使用 PlayFramework 多重上传文件

    我尝试使用 Play Framework 一次上传多个文件 但我总是获得每个上传的第一个图像 这是一个具体案例 HTML
  • 动态壁纸和扩展背景

    我正在尝试创建一个动态壁纸 其动画始终位于当前主屏幕页面的中心 而不会丢失扩展背景 我现在正在做的是绘制自定义背景位图 然后在其上绘制一些文本 这是我的并条方法 final SurfaceHolder holder getSurfaceHo
  • merge --squash 和 rebase 有什么区别?

    我试图理解壁球和变基之间的区别 据我了解 在进行变基时会执行挤压 Merge commits retains all of the commits in your branch and interleaves them with commi
  • 从标准输入读取

    使用读取用户输入的可能方法有哪些read Unix 中的系统调用 我们如何使用从 stdin 逐字节读取read 你可以这样做来读取 10 个字节 char buffer 10 read STDIN FILENO buffer 10 记住r
  • 如何让导航栏透明

    如何在 Android 4 4 X 及更高版本上使导航栏透明 我在文档中进行了搜索 但没有找到任何相关内容 我已从更改日志中获取了此内容安卓奇巧 4 4 http developer android com about versions a
  • 安装 django-admin-charts 后出现关于 smart_text 的错误

    我想在管理面板中显示图表 我安装了django admin charts包裹 其中说将这些添加到settings py INSTALLED APPS admin tools stats this must be BEFORE admin t
  • git merge 导致不合理的冲突

    我基本上在从 current iteration 合并到我的分支的几乎所有文件上都遇到了冲突 这真是令人抓狂 让许多人惊讶不已 摸不着头脑 我目前正在使用 git 版本的 mac 工作2 18 0 我的同行都在Windows git版本上工
  • 在docker中运行jupyter笔记本时如何处理python模块安装?

    我目前开始使用很棒的 jupyter 笔记本 由于我总是遇到由于不同的 python 版本和 python 模块版本而无法工作的问题 因此我喜欢在 docker 容器中运行 jupyter Notebook 我创建了一个Dockerfile
  • Azure Web APP 中的 DOS 保护

    我们正在为我们的前端站点使用 Azure Web APP 最近我们的网站发现了DOS攻击 当我用谷歌搜索时 我了解了 Azure 云服务的解决方案 有什么办法可以通过开箱即用的支持来保护 Azure Web APP Azure 网站启用了
  • vue test utils TypeError:无法解构“未定义”或“空”的属性“配置”

    我只是使用 vue test utils 进行简单的单元测试 但它不起作用 我不知道 帮我 我安装了这个东西 gt npm i D jest vue test utils vue jest jest serializer vue babel