如何在Jest中实现类似Mocha的slow(time)慢测试标记功能?
Jest 中替代 Mocha
slow(time) 的方案 Jest 提供了与 Mocha slow(time) 功能对应的替代方案,主要通过全局配置和单个测试用例配置两种方式实现:
1. 全局配置(适用于所有测试)
在 Jest 的配置文件(如 jest.config.js)中,使用 slowTestThreshold 选项设置全局的慢测试阈值,单位为毫秒。超过该阈值的测试会被标记为「slow」。
示例配置:
module.exports = { slowTestThreshold: 2000, // 所有运行时间超过2000ms的测试会被标记为slow // 其他Jest配置... };
2. 单个测试用例覆盖(针对特定测试)
如果需要为某个测试单独设置慢阈值,可以在定义测试时,通过第三个参数的配置对象指定 slow 属性,覆盖全局配置。
示例:
test('测试耗时操作', async () => { // 模拟耗时任务 await new Promise(resolve => setTimeout(resolve, 1500)); }, { slow: 1000 }); // 该测试运行超过1000ms就会被标记为slow
显示效果
当测试运行时间超过设置的阈值时,Jest 在测试报告中会以黄色文字标记该测试为「slow」,同时显示实际运行时间,方便你快速识别性能较慢的测试用例。
内容的提问来源于stack exchange,提问作者EuberDeveloper
相关产品推荐
相关产品推荐

