Jest 学习笔记之matchers

Posted holajulie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jest 学习笔记之matchers相关的知识,希望对你有一定的参考价值。

  Jest官网地址: https://facebook.github.io/jest/  

  Jest是专门被facebook用于测试包括React应用在内的所有javascript代码,Jest旨在提供一个综合的零计算的测试体验。

因为没有找到文档,基于我个人的经验,Jest是要在babel环境下才能够使用的,所以请查看babel官网首页学习babel安装方式。

安装jest,在控制台的项目所在文件夹输入下列代码:

npm install --save-dev jest 或者 yarn add --dev jest

在package.json中配置:

{
  "scripts": {
    "test": "jest"
  }

}

  

你可以使用Jest中的“matchers”去测试代码,以下将介绍最常用的matchers.

test(‘two plus two is four‘, () => {
  expect(2 + 2).toBe(4);
});

以上代码为jest的书写方式,expect(2 +2) 返回一个“expectation”对象,你除了调用这个对象,通常不会有太多其他的操作。toBe(4) 就是matcher。

toBe():=== 来测试完全相等

toEqual():  测试对象是否相等。

toBeNull(): 只匹配Null

toBeUndefined(): 只匹配undefined

toBeFalsy():匹配假。0和null都为假哦。

toBeCloseTo():浮点数的比较。不能使用toEqual().

toMatch():匹配字符串中是否存在字符,与正则表达式搭配使用。expect(‘Christoph‘).toMatch(/stop/);

toContain(): 数组是否包含某特定子项。但是不能测试数组里是否包含某一数组。

toThrow(): 因为怎么用错误处理,没太看懂。原文:如果你想要测试的特定函数抛出一个错误,在它调用时,使用 toThrow

 

以上是关于Jest 学习笔记之matchers的主要内容,如果未能解决你的问题,请参考以下文章

javascript jasonbutz.info - 除了Matcher之外的自定义Jest

前端测试框架Jest系列教程 -- 匹配器

DOM探索之基础详解——学习笔记

vue2.0学习笔记之组件

学习笔记:python3,代码片段(2017)

前端自动化测试框架Jest中的Mock