Jest 有一个“您的测试套件必须至少包含一个测试”。规则。它抱怨说,如果我有一个不是测试套件的文件,它就不能存在于__test__/我创建的目录中(见下文)。这基本上意味着该文件夹(包括子文件夹)中的所有内容都必须是测试套件。
我该如何解决这个问题?我真的想用我的测试套件存储我的模拟数据对象。
该默认glob模式是Jest用于查找测试文件
[ "**/__tests__/**/*.[jt]s?(x)", "**/?(*.)+(spec|test).[jt]s?(x)" ]
换句话说...
默认情况下,它会查找
.js,.jsx,.ts和.tsx里面的文件__tests__夹,以及带有后缀的任何文件.test或.spec(如Component.test.js或Component.spec.js)。它还会找到名为test.js或 的文件spec.js。
因为mockData.js在__tests__它的子目录中,它被默认的 glob 模式找到并被假定为一个测试。
为了Jest避免将其mockData.js视为测试,您可以Jest使用testMatch配置选项更改用于查找测试的 glob 模式,或者使用正则表达式而不是 glob 模式 use testRegex。
在您的测试实用程序文件中调用skip将禁止违反规则:
test.skip('Workaround', () => 1)
Run Code Online (Sandbox Code Playgroud)
添加这个是为了完整性。布赖恩的testMatch/testRegex解决方案对我来说似乎更干净。
| 归档时间: |
|
| 查看次数: |
4762 次 |
| 最近记录: |