首页 > 解决方案 > 在 Jest 中禁用“您的测试套件必须包含至少一个测试”规则

问题描述

Jest 有一个“您的测试套件必须包含至少一个测试”。规则。它抱怨说,如果我有一个不是测试套件的文件,它就不能存在于__test__/我创建的目录中(见下文)。这基本上意味着该文件夹中的所有内容(包括子文件夹)都必须是一个测试套件。

我该如何解决这个问题?我真的很想用我的测试套件存储我的模拟数据对象。

在此处输入图像描述

标签: jestjs

解决方案


用于查找测试文件的默认全局模式Jest

[ "**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)" ]

换句话说...

默认情况下,它会查找文件夹内的 、 和 文件.js,以及.jsx任何带有 or 后缀的文件(例如or )。它还将查找名为or的文件。.ts.tsx__tests__.test.specComponent.test.jsComponent.spec.jstest.jsspec.js

因为mockData.js它位于它的子目录中,__tests__所以默认 glob 模式可以找到它并假定它是一个测试。

为了Jest避免将mockData.js其视为测试,您可以使用配置选项更改 glob 模式Jest用于查找测试testMatch,或者使用正则表达式而不是 glob 模式 use testRegex


推荐阅读