babel6下使用jest单元测试

背景:

  1. 项目中后端api地址虽然做了环境变量配置,但是还是有同学随意更改配置导致测试环境地址发布到生产环境

  2. 为了避免这种情况出现决定引入单元测试,在提交代码之前做一次测试校验

坑:

  1. erp项目使用babel6,jest的babel配置需要babel7, 且无法屏蔽.babelrc配置,哭

    解决方案: jest项目作为一个小项目引入有单独的package.json文件

文件结构:



├── jest                                           	//  jest项目
│   ├── babel.config.js                            	//  babel配置
│   │   ├── ...                              			
│   ├── jest.config.js                           	//  jest配置
│   │   ├── ...                              
│   ├── tests                                  		//  tests文件
│   │   ├── test.js                                 
│   │   package.json  								//  依赖包配置
│   jest.js                                         //  node脚本.gitignore
│   package.json	


配置jest环境

执行yarn global add jest 或者npm install jest --global安装全局jest

执行npm init 初始化项目

执行jest --init初始化jest配置

执行yarn add --dev babel-jest @babel/core @babel/preset-env下载babel依赖

到这一步基础配置都安装好了

babel配置

babel让jest可以支持es6


// babel.config.js
module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        targets: {
          node: 'current',
        },
      },
    ],
  ],
};

jest配置

jest配置指定我们需要匹配测试的文件地址

	
// jest.config.js 

module.exports = {
    testMatch: [
        "**/tests/**/*.[jt]s?(x)"                  // 匹配tests文件夹以及子目录下的文件
    ],
}


引入项目

因为jest项目是独立于父项目的, 我们要关联这两个项目

  1. 配置 .gitignore 隐藏 node_modules

    
    # .gitignore
    
    node_modules/
    jest/node_modules/
    
    
  2. npm i shelljs -D 安装shelljs, 使用shelljs 执行jest下的测试文件

    
    // jest.js
    
    const shell = require("shelljs");
    shell.cd('jest')
    shell.exec('jest')
    
    
  3. 配置父项目package.json


# package.json    

"scripts": {
    "jest": "node jest"
}, 


使用

执行node jestnpm run jest 使用


git地址

官网地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Vite创建Vue项目时,可以使用Jest作为测试框架来编写和运行测试。Jest是一个流行的JavaScript测试框架,它提供了丰富的功能和易于使用的API。 要在Vite项目中使用Jest,首先需要安装相关的依赖。可以使用以下命令安装所需的依赖: ``` npm install --save-dev jest @vue/test-utils vue-jest babel-jest ``` 安装完成后,可以在项目根目录下创建一个`tests`文件夹,用于存放测试文件。在`tests`文件夹中,可以创建一个以`.spec.js`或`.test.js`结尾的文件,用于编写测试代码。 下面是一个简单的示例,演示如何使用Jest编写一个简单的Vue组件测试: ```javascript // tests/HelloWorld.spec.js import { mount } from '@vue/test-utils'; import HelloWorld from '../src/components/HelloWorld.vue'; describe('HelloWorld.vue', () => { it('renders props.msg when passed', () => { const msg = 'Hello, World!'; const wrapper = mount(HelloWorld, { props: { msg } }); expect(wrapper.text()).toMatch(msg); }); }); ``` 在上面的示例中,我们首先导入了`mount`函数和要测试的Vue组件`HelloWorld`。然后,在`describe`块中定义了一个测试套件,并在其中编写了一个测试用例。测试用例使用`mount`函数来挂载`HelloWorld`组件,并断言组件渲染的文本内容是否与传入的`msg`属性相匹配。 完成测试代码编写后,可以使用以下命令来运行测试: ``` npx jest ``` Jest会自动查找项目中的测试文件,并执行其中的测试用例。测试结果将会显示在终端中。 这只是一个简单的示例,Jest还提供了许多其他功能,如快照测试、异步测试等。你可以参考Jest的官方文档来了解更多详细信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值