@慢慢学些测试---初识测试

Jest测试工具

写文章的目的是:咱们应该在之前的学习认知的水平上进行学习,而不是一次次的重复,用文章记录咱们的学习,先散而后才能成章。javascript

跟着 jest 官方网站学些 jest 测试,帮助咱们编写更好质量的代码

前端测试工具 jest, 咱们阅读 Jest 官方文章以后,使用 Jest 从简单到深刻的学习 Jest 的测试,方便咱们编写高质量的组件。html

安装jest

yarn add --dev jest

# 全局安装
yarn add global jest
复制代码

在根目录建立 /test/index.test.js前端

从简单的测试函数开始

// index.test.js
test('plus', () => {
    expect(1+2).toBe(3)
})

// 获得以下的结果
Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        1.828s
复制代码

test 方法

若是使用过glup的话,这里 test 函数就比如 gulp 的 task 任务。这里理解为 test 任务。java

任务 plus 的做用: expect 的值,与toBe 的值进行对比。android

指望 expect

expect(value), expect函数的参数是 value 表示一个值。其中expect函数的返回是一个指望对象,指望对象具备 toBe 方法,因此这就能构成一个闭环。正则表达式

匹配器

简单匹配器

  • toBe 是一个匹配器,指望值(是js原值值类型)与匹配器里面的值进行对比匹配。
  • toEqual 是个匹配器,匹配的是 引用类型的值如 array, object, 进行对比。
  • not 也是一个修饰器,用于取反

真实性测试匹配器

有时候咱们须要严格的区分 undefined, null, false,gulp

// 匹配上面特定的值数组

  • toBeNull
  • toBeUndefined
  • toBeDefined // 匹配真值,匹配假值
  • toBeTruthy
  • toBeFalsy

定义分为两种: 定义toBeDefined, 没有定义 toBeUndefined.异步

数字比较

  • 等于 ==: toBe toBeEqual
  • 小于等于 <= toBeLessThan, toBeLessThanOrEqual
  • 大于等于 >= toBeGreaterThan,toBeGreaterThanOrEqual
  • 浮点型数据须要单独的使用 toBeCloseTo,而不能使用 toEqual.

字符串类型

字符串类型,最多的就是用 regexp 来匹配,因此咱们仍是要把正则表示学好呀!函数

  • toMatch 方法中间使用咱们须要的正则表达式
  • toMatch 还能够做用与数组,和对象中是否是含有这个咱们要匹配的值。

错误处理

定义个函数,使用函数的形式来在test的时候抛出一个错误。

  • toThrow 来处理相关的内容
function compileAndroidCode() {
  throw new Error('you are using the wrong JDK')
}

test('compiling android goes as expected', () => {
  expect(compileAndroidCode).toThrow();
  expect(compileAndroidCode).toThrow(Error)

  // You can also use the exact error message or a regexp
  expect(compileAndroidCode).toThrow('you are using the wrong JDK');
  expect(compileAndroidCode).toThrow(/JDK/);
})
复制代码

jest 测试的几种方式

  1. 文件单独测试,test、it 等方法
  2. 文件中几种测试, describe
  3. __test__ 存放测试文件

没有涉及的项目

  • 异步测试
  • 测试接口
  • mock
  • 实际开发过程当中,咱们要测试哪些东西?
    • 接口测试
    • ui 测试
    • 功能测试
    • 断言测试

测试风格

  • TDD 测试驱动型开发,在开发前先写好测试用例
  • BDD 是先开发代码,而后进行测试,这个是一些很常规的作法
  • 我的以为一个开发提升自信度的使用 TDD 来进行开发,这样咱们会更加的专业。

总结

  1. jest 的安装与基本使用
  2. 理解 test 方法
  3. 理解 expect 方法
  4. 理解 jest 测试的匹配器
  5. 练习熟练使用 jest 的匹配器
  6. 这些基本的使用仍是跟 javascript 的数据类型有关系,匹配基础类型的值(string, number, floatnumber, boolean, undefined, false, true, null)处理方式定义的不一样,处理引用类型的值的时候,还有正则来匹配引用类型的值。

参考

  1. www.cnblogs.com/SamWeb/p/11…
相关文章
相关标签/搜索