Jest测试框架入门之四个钩子及分组

一、四个钩子

Jest提供了四个钩子,分别是 beforeEach、afterEach、beforeAll、afterAll。这四个钩子很好理解,当你想在每一个 test 前后做同一件事情时,就用 beforeEach 和 afterEach;当你想在所有 test 前后做某一件事情时,就用 beforeAll 和 afterAll。举个例子:

beforeAll(() => {
  console.log('beforeAll');
})

afterAll(() => {
  console.log('afterAll');
})

beforeEach(() => {
  console.log('beforeEach');
})

afterEach(() => {
  console.log('afterEach');
})

test('', () => {
  console.log('test');
  expect('apple').toBe('apple');
})

/**
 * 打印顺序为:
 * 1、beforeAll
 * 2、beforeEach
 * 3、test
 * 4、afterEach
 * 5、afterAll
 */

二、分组

可以使用 describe 关键字对 test 进行分组。有以下两条规则:
1、上面四个钩子可以放在 describe 内,放在 describe 内部的钩子仅对当前分组生效。
2、当有多个 describe 时,会先执行所有的 describe,再执行所有的 test。
举个例子:

beforeAll(() => {
  console.log('outer-beforeAll');
})

afterAll(() => {
  console.log('outer-afterAll');
})

beforeEach(() => {
  console.log('outer-beforeEach');
})

afterEach(() => {
  console.log('outer-afterEach');
})

describe('group 1', () => {
  beforeEach(() => {
    console.log('inner-group-1-beforeEach');
  })

  afterEach(() => {
    console.log('inner-group-1-afterEach');
  })
  console.log('inner-group-1');
  test('', () => {
    console.log('inner-group-1-test');
    expect('apple').toBe('apple');
  })
})

describe('group 2', () => {
  console.log('inner-group-2');
  test('', () => {
    console.log('inner-group-2-test');
    expect('banana').toBe('banana');
  })
})

/**
 * 打印顺序为:
 * 1、inner-group-1
 * 2、inner-group-2
 * 3、outer-beforeAll
 * 4、outer-beforeEach
 * 5、inner-group-1-beforeEach
 * 6、inner-group-1-test
 * 7、inner-group-1-afterEach
 * 8、outer-afterEach
 * 9、outer-beforeEach
 * 10、inner-group-2-test
 * 11、outer-afterEach
 * 12、outer-afterAll
 */
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值