引入jest需安装的基础插件:

基础插件

  • @babel/core

    说明:编译工具核心模块包
  • @babel/preset-env

    说明:编译工具,支持es2015特性的编译打包工具包
  • babel-jest

    说明:对.jsx、.js文件进行转义的包工具。
  • jest

    说明:jest单元测试模块包

引入jest的相关配置:

jest.config.js

若无jest.config.js,则执行jest --init,初始化jest的配置文件

修改如下配置:

moduleNameMapper: {
"^@/(.*)$": "<rootDir>/src/$1" //映射jssdk源码src的目录
}

babel.config.js

module.exports = {
presets: [
['@babel/preset-env', { //配置babel预置编译器为@babel/preset-env
targets: {
node: 'current'
}
}]
]
};

###JavaScript部署jest
####安装插件:
参照文首【引入jest需安装的基础插件】
####相关配置
参照文首【引入jest的相关配置】

###TypeScript部署jest
####安装插件:
__1.安装jest基础插件__
参照文首【引入jest需安装的基础插件】
__2.安装适配TypeScript相关插件__
- @babel/preset-typescript
说明:支持typescript的编译
- @types/jest
说明:在typescript中支持jest的afterAll、descript、test等关键字、断言等。

相关配置

基于文首【引入jest的相关配置】,配置babel.config.js

备注:只对应修改以下配置,勿粘贴覆盖。

module.exports = {
presets: [
['@babel/preset-env', {
targets: {
node: 'current'
}
}],
"@babel/preset-typescript" //新增此配置
]
};

###Vue部署jest
####安装插件:
__1.安装jest基础插件__
参照文首【引入jest需安装的基础插件】
__2.安装适配Vue相关插件__
- vue-jest
说明:提供jest支持vue的转义
- @vue/test-utils
说明:提供jest操作vue的API
- babel-core
说明:由于vue-jest引用的是babel-core,而不是@babel/core,所以还需要添加上babel-core的依赖,无法无法执行。
- jest-serializer-vue
说明:jest中对vue的序列化插件。
- @babel/plugin-transform-modules-commonjs
说明:Jest在Node中运行,因此需要将ES模块转换为CommonJS模块。因此,如果您使用的是webpack 2,则很可能需要将Babel配置为仅在test环境中将ES模块转换为CommonJS模块

相关配置

jest.config.js

备注:只对应修改以下配置,勿粘贴覆盖。

  moduleFileExtensions: [
"js",
"json",
"jsx",
"ts",
"tsx",
"node",
"vue" //配置上vue的支持
], snapshotSerializers: [
"<rootDir>/node_modules/jest-serializer-vue" //配置添加上生成vue快照的序列化器的模块
], // A map from regular expressions to paths to transformers
transform: {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest", //配置js文件的编译器
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest" //配置vue文件的编译器
},

单元测试jest部署的更多相关文章

  1. 如何为我的VUE项目编写高效的单元测试--Jest

    Unit Testing(单元测试)--Jest 一个完整的测试程序通常由几种不同的测试组合而成,比如end to end(E2E)测试,有时还包括整体测试.简要测试和单元测试.这里要介绍的是Vue中 ...

  2. react 单元测试 (jest+enzyme)

    为什么要做单元测试 作为一个前端工程师,我是很想去谢单元测试的,因为每天的需求很多,还要去编写测试代码,感觉时间都不够用了. 不过最近开发了一个比较复杂的项目,让我感觉一旦项目大了.复杂了,而且还是多 ...

  3. 前端单元测试,以及给现有的vue项目添加jest + Vue Test Utils的配置

    文章原址:https://www.cnblogs.com/yalong/p/11714393.html 背景介绍: 以前写的公共组件,后来需要添加一些功能,添加了好几次,每次修改我都要测试好几遍保证以 ...

  4. React单元测试——十八般兵器齐上阵,环境构建篇

    一个完整.优秀的项目往往离不开单元测试的环节,就 github 上的主流前端项目而言,基本都有相应的单元测试模块. 就 React 的项目来说,一套完整的单元测试能在在后续迭代更新中回归错误时候给与警 ...

  5. 单元测试React

    React单元测试——十八般兵器齐上阵,环境构建篇 一个完整.优秀的项目往往离不开单元测试的环节,就 github 上的主流前端项目而言,基本都有相应的单元测试模块. 就 React 的项目来说,一套 ...

  6. Eclipse使用EclEmma看单元测试的代码覆盖率

    在开发过程中,我们应该养成编写本地单元测试用例的好习惯,甚至做到测试驱动开发.EclEmma是Eclipse的一个插件,是一款测试用例的代码覆盖率统计工具,能明确到哪一行在测试过程中被调用到了.这里不 ...

  7. Laravel大型项目系列教程(五)之文章和标签管理

    一.前言 本节教程将大概完成文章和标签管理以及标签关联. 二.Let's go 1.文章管理 首先创建管理后台文章列表视图: $ php artisan generate:view admin.art ...

  8. Laravel大型项目系列教程(一)

    Laravel大型项目系列教程(一) 一.课程概述 1.课程介绍 本教程将使用Laravel完成一个多用户的博客系统,大概会包含如下内容: 路由管理. 用户管理,如用户注册.修改信息.锁定用户等. 文 ...

  9. maven使用

    Maven是一个项目管理和构建自动化工具.但是对于我们程序员来说,我们最关心的是它的项目构建功能,它定义了项目开发的几个标准步骤:编译,发布,单元测试及部署以帮助项目开发 最简单的时候场景是,在pom ...

随机推荐

  1. 零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」

    原文:零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Bl ...

  2. Win10的UWP之标题栏的返回键(一)

    原文:Win10的UWP之标题栏的返回键(一) 关于返回键,放在标题栏是目前较为完美的一种方案.继前一篇的Hello World,博主进行一些修改实现该方法. - - - - - - - - - - ...

  3. Qt 5 最小构建笔记(只编译QtBase)

    只想用Qt5最基本的功能,因此只编译QtBase.也不想为了编译一个Qt装很多东西(比如非常肥的DirectX SDK) 软件清单: Visual Studio 2010 Professional w ...

  4. qtchooser - a wrapper used to select between Qt development binary(2种方法)

    ---------------------------------------------------------------------------------------------------- ...

  5. ACL 我为什么要发明一个轮子?

    现在成熟的开发库与开发框架有很多,所以平时我们在开发自己的应用程序时一般直接拿来用就可以了,所以当我先是开发出 C 语言版的 acl 框架库时有人认为是这个轮子是否值得发明,而当我再开发出基于 acl ...

  6. ireport使用笔记

    近来工作中使用到ireport对打印模板改造,记录下所遇见的问题及解决方式.好记性不如烂笔头~ 关于ireport的基本操作就不作记录了,某度一搜一大把 怎样控制组件是否展示?(若组件需要展示的内容为 ...

  7. 第五章 FISCO BCOS 区块链浏览器的部署

    想了解相关区块链开发,技术提问,请加QQ群:538327407 前提 前面我们已经通过底层部署.sdk调测.自定义智能合约编写与部署.联合单元测试调测,已经初步对FISCO BCOS的区块链底层和实际 ...

  8. Java多线程同步工具类之CyclicBarrier

    一.CyclicBarrier使用 CyclicBarrier从字面上可以直接理解为线程运行的屏障,它可以让一组线程执行到一个共同的屏障点时被阻塞,直到最后一个线程执行到指定位置,你设置的执行线程就会 ...

  9. 微信小程序商城 带java后台源码

    微信小程序商城(Java版) 演示地址 账号:admin 密码:admin 小程序体验码: 技术选型 1 后端使用技术 1.1 springframework4.3.7.RELEASE 1.2 myb ...

  10. HBase 学习之路(十)—— HBase的SQL中间层 Phoenix

    一.Phoenix简介 Phoenix是HBase的开源SQL中间层,它允许你使用标准JDBC的方式来操作HBase上的数据.在Phoenix之前,如果你要访问HBase,只能调用它的Java API ...