Jest有一个“您的测试套件必须至少包含一个测试。” 规则。它抱怨说,如果我有一个不是测试套件的文件,它就不能存在于我创建的__test__/
目录中(请参见下文)。这基本上意味着该文件夹中的所有内容(包括子文件夹)都必须是测试套件。
我该如何解决?我真的很想将模拟数据对象与测试套件一起存储。
答案 0 :(得分:3)
在测试实用程序文件中调用skip将禁止违反规则:
test.skip('Workaround', () => 1)
添加此内容是为了完整性。 Brian的testMatch
/ testRegex
解决方案对我来说似乎更干净。
答案 1 :(得分:2)
Jest
用于查找测试文件的default glob patterns是
[ "**/__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
配置选项查找测试的球形模式,或使用正则表达式而不是全局模式使用testRegex
。