javascript - jest 是否保证它将按顺序在单个文件中运行测试?

标签 javascript jestjs

我对jest的理解根据观察,它通过生成辅助进程并向工作人员分发测试文件以在他们完成当前测试文件时执行测试来提供并发执行。

这表明 jest 不会尝试同时在单个测试文件中执行测试。所以我希望下面的测试总是通过(不需要通过 --runInBand):

describe('counting test', () => {
  let variable = 0;

  it('should start as 1', () => {
    variable += 1;
    expect(variable).toEqual(1);
  });
  it('should change to 2', () => {
    variable += 1;
    expect(variable).toEqual(2);
  });
});

即第二个测试总是在第一个测试完成后运行。那安全吗,是否有官方文件在某处指定此行为?我找不到。

最佳答案

由于这没有官方答案,我在进一步研究/实验后在 Jest 文档中添加了一个(并由他们的一位版主签署)。

所以,是的,jest 按顺序运行文件中的每个测试,等待每个测试完成,然后再进行下一个测试。现在在 Setup and Teardown 中对此进行了描述.

进一步注意,描述 block 都在任何测试 block 之前执行。

供引用,实现这个的代码主要在jest-circus/src/run.ts中和 eventHandler.ts .

关于javascript - jest 是否保证它将按顺序在单个文件中运行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48063192/

相关文章:

javascript - TypeError : sentimentCurrent. map 不是一个函数?

vue.js - Jest spyOn 报告一个方法被调用的对象与实际调用的对象不同

测试 createAsyncThunk Redux Toolkit Jest

javascript - 如何使用 JavaScript 删除 html 输入元素?

javascript - 在 Angular 中将一个数组类转换为另一个数组类

Javascript 替换在控制台中工作,而不是在代码中工作

javascript - 如何使用 JavaScript 随机化整数变量?

javascript - 如何解决对象键大小写变化?

javascript - 使用 jest.js 拦截导航更改(或如何覆盖和恢复 location.href)

reactjs - 将 Jest 与 react-scripts 一起使用(通过 yarn 运行),如何在不必传递 watchAll 标志的情况下获得完整的覆盖率报告?