【发布时间】:2015-10-16 05:44:52
【问题描述】:
我正在尝试将 ESLint linter 与 Jest 测试框架一起使用。
Jest 测试使用jest 之类的全局变量运行,我需要告诉 linter;但棘手的是目录结构,在 Jest 中,测试与源代码一起嵌入在 __tests__ 文件夹中,因此目录结构类似于:
src
foo
foo.js
__tests__
fooTest.js
bar
bar.js
__tests__
barTest.js
通常,我会将所有测试都放在一个目录下,我可以在其中添加一个 .eslintrc 文件来添加全局变量...但我当然不想添加一个 .eslintrc 文件到每个__test__ 目录。
目前,我刚刚将测试全局变量添加到全局 .eslintrc 文件中,但这意味着我现在可以在非测试代码中引用 jest,这似乎不是“正确”的解决方案.
有没有办法让 eslint 应用基于目录名称的某种模式的规则,或者类似的东西?
【问题讨论】:
-
这对于实际答案来说有点太暴力了,但是您可以有一个单独的 linting 任务,手动使用带有 glob 的
eslint-test文件,例如eslint **/__tests__/*.js -c eslint-test.yml。也就是说,我不认为jest或beforeEach全局泄漏到生产代码中的危险;)
标签: javascript jestjs eslint