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

Jest测试套件运行失败,已编写测试却提示无测试用例如何解决?

问题根本原因

你手动从jest-circus模块导入的test方法不属于Jest测试扫描逻辑可识别的用例声明方法,Jest运行时不会将你写的这个测试块识别为有效用例,因此抛出「测试套件不包含任何测试」的报错。

解决方法

方法1(推荐):移除多余导入语句

Jest默认会将test、it、expect等测试API全局注入到所有测试文件的运行环境中,无需手动导入。修改测试文件内容如下即可正常运行:

// file example.test.js
const one = 1;

test("example test", () => {
  expect(one).toBe(1);
});

方法2:修改导入来源

如果是为了规避ESLint未定义变量报错、或者需要类型提示,必须手动导入API的话,请从@jest/globals包导入所有测试相关API,不要从jest-circus导入:

// file example.test.js
const { expect, test } = require("@jest/globals");

const one = 1;

test("example test", () => {
  expect(one).toBe(1);
});
额外排查项

如果修改后依然报错,可检查Jest配置项:

  • 确认testRunner配置为默认值jest-circus/runner,不要自定义修改为其他运行器
  • 确认没有配置injectGlobals: false同时未正确导入测试API

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:57:01