Jest 基本配置 示例 生成代码覆盖率文件
Jest 匹配器 真值、数字、字符串、数组、异常匹配器

work.js

export function work (age){return age>30 ?'7小时':'8小时'
};

work.test.js

const { work } = require('./work');
test('work-年龄33岁的工作时间',()=>{expect(work(33)).toBe('7小时')
})

Jest 不支持 ES6 语法,不能使用 import 引入,只支持 commonjs规范。
如果想让 jest 支持 import,可以用 babel 转换器。

jest 中有 babel-jest 组件,当我们使用 jest 命令时,会先去检测根目录或者开发环境中有没有安装 bebal 核心包,检测到后再去找 babelrc 文件,找到之后进行转换,转换后再执行用例测试。

步骤

安装 @babel/core 和 @babel/preset-env 依赖包

npm i @babel/core @babel/preset-env

确认安装成功后,创建babel的配置文件 .babelrc

  • presets 里放转换器
{"presets": [["@babel/preset-env", {"targets":{"node":"current"}}]]
}

然后就可以使用 import 了

import { work } from './work.js';
test('work-年龄33岁的工作时间',()=>{expect(work(33)).toBe('7小时')
})

Jest 里配置 babelrc,支持import导入相关推荐

  1. IDEA 自动导入的配置(Auto import)

    很多开发过 Java 的小朋友都有一个定义就是不导入 * 但 IDEA 自动导入的配置中的默认选项是通配符导入( wildcard imports). 在默认情况下,如果同一个包中的类导入超过 5 个 ...

  2. ROS2与C++入门教程-在C++包里增加python支持

    系列目录 ROS2与C++入门教程-目录 ROS2与C++入门教程-新建ros2工作空间 ROS2与C++入门教程-新建ros2包 ROS2与C++入门教程-编写订阅和发布 ROS2与C++入门教程- ...

  3. 配置apache支持django

    因为工作需要做全栈开发,所以必须要搭建一个web服务器和vue进行联调,但是如果采用django自带的服务器,静态资源的处理很麻烦,前端开发还是需要处理静态资源的,所以我还是需要一个专门的web服务器 ...

  4. python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!

    最近有不少小伙伴咨询关于pyton第三方包导入的问题,今天我们就来聊聊第三方包导入那些事. 随着对python学习的渐入臻境,越来越多的小伙伴们开始导入自己所需的第三方包,实现各种各样的功能.但是,他 ...

  5. jsp中@import导入外部样式表与link链入外部样式表的区别

    昨天碰到同事问了一个问题,@impor导入外部样式与link链入外部样式的优先级是怎样的,为什么实验的结果是按照样式表导入后的位置来决定优先级.今天就这个问题具体总结如下: 先解释一下网页添加css样 ...

  6. Vue 中如何配置项目支持 JSX 语法

    Vue 是使用的的模板语法,Vue的模板实际上就是编译成了 render 函数,同样支持 JSX 语法.在 Vue 官网中,提供 createElement 函数中使用模板中的功能. createEl ...

  7. 实现微信支付(Native支付),使用WebSocket进行推送 ——4.配置SpringBoot支持WebSocket,推送结果

    实现微信支付(Native支付),使用WebSocket进行推送 --4.配置SpringBoot支持WebSocket,推送结果 依赖 <dependency><groupId&g ...

  8. React Jest + enzyme 配置 及 简单用例

    这里简单的介绍一下 React 项目下 Jest + enzyme 配置 并运行一个简单的测试用例. 这里跳过React项目的创建,React项目创建可以看下 React项目创建 1.安装 jest ...

  9. linux环境下搭建osm_web服务器一(Postgresql配置及osm2pgsql原始数据导入):

    Postgresql配置及osm2pgsql原始数据导入 2012年,Ubuntu 12.04LTS发布,又一个长效支持版,我们又该更新OpenStreetMap服务器了,这次,将详细在博客中记录配置 ...

最新文章

  1. javamac系统通过pid获取进程名称_线上环境 Linux 系统调用追踪
  2. 4 交换机-fanout(订阅发布模式)
  3. range python命令_Python学习笔记(一)
  4. git add 所有修改文件_Git 技术干货!工作中quot;Gitquot;的使用实践和常用命令合集!
  5. matlab对正弦采样信号采样重建,信号与系统实验报告4
  6. 在Vue项目中添加vue router
  7. python strip() 方法
  8. DOSBOX 安装与使用
  9. Ps,Lr,Pr,Ae,Au,C4D,达芬奇调色
  10. 计算机系统运行费,关于同意计算机离港系统实行收费的批复
  11. 软件工程专业职业规划发展路线
  12. 56款让你过目不忘的html表单模板源代码
  13. 领带的打法10种——男士必看(图)
  14. Facebook 全面禁止口罩广告,各平台如何打击哄抬、售假
  15. android打印机没反应了,使用蓝牙打印机在Android中打印不起作用
  16. 【backtrader源码解析7】backtrader中mathsupport中计算平均值、方差和标准差的函数的分析(含金量挺低的)
  17. poi word转html 根号,根号算法 - 作业部落 Cmd Markdown 编辑阅读器
  18. 31、通信卫士--拦截黑名单电话
  19. 第29届奥运会中国代表团夺金榜
  20. 搭建 Cobbler 无人值守安装服务器

热门文章

  1. 将一个随机字符串中的所有字符升序排列,并倒叙打印
  2. 区块链到底是个什么鬼?
  3. Python零基础入门(五)
  4. 系统安全及应用(一)
  5. Windows11快速入门
  6. 快手直播娱乐公会行业峰会即将启幕 四大举措助力公会强势崛起
  7. 顺序表创建和就地逆置
  8. 个人godaddy域名备案解决方案
  9. 日本“经营之神”稻盛和夫去世,终年90岁,人生信条:“每天都必须特别认真地生活。”...
  10. Python 智能聊天机器人的实现