Jest v26.6.3自定义过滤器返回0匹配,求解决方法
Jest v26.6.3 --filterfile 显示0匹配的解决思路
核心修复:修正过滤器返回值的键名
Jest v26.x 的 --filterfile 功能要求过滤器函数返回的对象必须包含 testPaths 属性,而非你当前代码中的 filtered。键名不匹配会导致 Jest 无法识别过滤后的测试路径,直接返回Pattern: - 0 matches。
修改你的 filter.js 代码:
module.exports = function(testPaths) { return { testPaths: testPaths }; };
其他排查方向
- 路径格式一致性检查:确认过滤器中输出的
testPaths是绝对路径还是相对路径,Jest 内部通常使用与 CLI 执行目录相对的路径。若存在格式差异,可通过 Node.js 的path.relative()方法转换后再返回。 - 过滤逻辑验证:后续添加自定义规则时,确保过滤后的数组非空,且路径与 Jest 实际识别的测试文件完全一致(注意大小写、文件扩展名等细节)。
- CLI 参数格式修正:Windows 系统下,绝对路径的反斜杠需正确转义,或改用正斜杠,例如:
jest --filter=absolute/path/to/filter.js
内容的提问来源于stack exchange,提问作者Bruno Farias
相关产品推荐
相关产品推荐

