假设有一个项目使用jest
,它需要将单元测试文件放在__tests__
文件夹中。
我想找到一种方法来检测单元测试文件的目录名。我所期望的是,当有人将他们的单元测试文件提交到错误的目录(如__test__
或_tests_
)时,将会发生错误。
是否有任何现有的lint工具可以做到这一点?有人知道怎么做吗?非常感谢。
我不认为你可以直接在ESLint中做到这一点,但是,按照这个答案,你可以使用外部插件。然后你只需要用正确的文件掩码(**/*.spec.ts)运行ESLint来执行你想要的检测。
感谢@steven-scott的分享。当我检查答案中提到的插件时,我发现eslint-plugin-folders
,eslint-plugin-filename-rules
和eslint-plugin-filenames
都不能满足我的要求。所以我创建了一个新的eslint插件eslint-plugin-check-file
来做这件事。
使用插件eslint-plugin-check-file
,只需配置规则check-file/folder-match-with-fex
如下可以检测单元测试文件的文件夹名称为__tests__/
:
{
"rules":{
"check-file/folder-match-with-fex":[
"error",
{
"*.test.{js,jsx,ts,tsx}":"**/__tests__/"
}
]
}
}
查看eslint-plugin-check-file
的更多信息