You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何添加Jest测试排序器以固定测试文件执行顺序?

固定Jest测试文件执行顺序的方法

你可以通过以下两种方式实现按指定文件名顺序执行测试:

方法一:自定义测试排序器(推荐)

  1. 在项目根目录创建一个名为test-sequencer.js的文件,内容如下:
const Sequencer = require('@jest/test-sequencer').default;

class CustomSequencer extends Sequencer {
  sort(tests) {
    // 按文件路径的字典序排序,匹配你的001/002/003命名规则
    const sortedTests = [...tests];
    return sortedTests.sort((a, b) => a.path.localeCompare(b.path));
  }
}

module.exports = CustomSequencer;
  1. 修改你的Jest配置文件(比如jest.config.js),添加testSequencer配置项:
module.exports = {
  // 其他已有配置...
  testSequencer: './test-sequencer.js',
};

之后运行npm test或jest __test__时,测试文件就会按001_user.test.js → 002_project.test.js → 003_model.test.js的顺序执行。

方法二:禁用测试随机化(简单但需验证)

Jest默认会随机化测试文件的执行顺序,你可以在配置中禁用这个行为:

修改jest.config.js:

module.exports = {
  // 其他已有配置...
  randomize: false,
};

这种方式会让Jest按内部默认的文件遍历顺序执行,由于你的文件名已经是数字前缀命名,多数情况下会匹配你想要的顺序,但不同操作系统的文件遍历逻辑可能有差异,不如自定义排序器可靠。

内容的提问来源于stack exchange,提问作者Swapnil Kotkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 06:12:02