vue2.x集成jest

22 篇文章 0 订阅
1 篇文章 0 订阅

这段时间,一直在弄jest,在原有的vue2.x的项目上集成jest,网上说的一步到位的vue add @vue/cli-plugin-unit-jest好像不起作用,于是又找了一堆博客参考,发现各种问题,最后根据一个博主的,终于实现了。参考链接

1.首先安装:

npm install -D jest vue-jest babel-core babel-jest @vue/vue2-jest jsdom @babel/preset-env jsdom-global @vue/test-utils@1.0.3

运行会提示babel-core版本低,升级为7.0以上,安装如下命令:

npm install --save-dev babel-core@^7.0.0-bridge.0

2. 配置

在根目录新建jest.config.js,配置内容和上面博主的配置不一样,根据自己需要的配置,配置如下:

const path = require('path')
module.exports = {
  rootDir: path.resolve(__dirname, './'), // 根据自己项目来
  moduleFileExtensions: [
    'js',
    'json',
    'vue'
  ],
  'transformIgnorePatterns': ['<rootDir>/node_modules/'],
  testEnvironment: 'jsdom',
  collectCoverage: true,
  collectCoverageFrom: [
    "src/**/*.{js,vue}",
    "!src/main.js",
    "!src/router/index.js",
    "!src/components/quill-edit.vue",
    "!src/utils/contactsWindow.js",
    "!src/utils/serviceStorage.js",
    "!src/mixins/refreshTable.js",
    "!src/utils/waterMark.js",
    "!src/utils/bus.js",
    "!src/api/api.js",
    "!src/api/index.js",
    "!src/store/index.js",
    "!**/node_modules/**"
  ],
  testRegex: '(/tests/unit/.*\\.(test|spec))\\.[tj]sx?$',//测试文件的地址配置
  transform: {
    '^.+\\.vue$': 'vue-jest',
    '.+\\.(css|styl|less|sass|scss|svg|png|gif|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
    '^.+\\.jsx?$': 'babel-jest'
  },
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1',
    "\\.(css|scss)$": "identity-obj-proxy"
  },
  verbose: true,
  testEnvironmentOptions: {
    url: 'http://localhost'
  }
}

如果遇到报错,这个报错是参数testEnvironment: 'jsdom',引起的,如果testEnvironment: 'node',则不会报错

Error: Test environment jest-environment-jsdom cannot be found. Make sure the testEnvironment configuration option points to an existing node module.

需要安装jsdom 包解决了这个问题:

npm install --save-dev jest-environment-jsdom

完成,可以愉快的写单元测试了,过个好年!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue2.x和Vue3.x是Vue.js的两个主要版本。Vue2.x是目前国内市场上最流行的前端应用开发框架之一,而Vue3.x则是最新版本。Vue2.x的官方文档可以在https://v2.cn.vuejs.org找到,而Vue3.x的官方文档可以在https://cn.vuejs.org找到。\[1\] 使用Vue2.x的步骤如下: 1. 下载Vue.jsVuex模块。 2. 创建一个store文件夹,并在其中创建store.js文件,引入VueVuex。 3. 使用Vue.use引入Vuex。 4. 在main.js中引入store,并在实例化Vue对象时加入store对象。 5. 在组件中可以通过this.$store来使用store实例。\[2\] 在Vue2.x中,可以通过注册全局的方式来使用Vuex。在main.js中引入store,并在实例化Vue对象时加入store对象,然后就可以在组件中通过this.$store来使用store实例。\[2\] 在Vue3.x中,可以使用单库模式进行初始化。首先安装Vuex模块,然后在store/index.js中引入VueVuex,并使用Vue.use引入Vuex。在入口文件中引入store,并在实例化Vue对象时加入store对象。然后就可以在组件中通过this.$store来使用store实例。\[3\] #### 引用[.reference_title] - *1* [Vue2.x基础](https://blog.csdn.net/weixin_52218117/article/details/127270468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Vue系列之---vue2.0 Vuex](https://blog.csdn.net/duanhy_love/article/details/103148874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值