运行测试
ESLint 的大部分内容都与单元测试相关联。单元测试使用 Mocha 编写,在为 ESLint 做出贡献时是必需的。您将在 tests
目录中找到所有单元测试。
第一次获取源代码时,您需要先运行一次 npm install
来设置开发环境的 ESLint。完成此操作后,您可以通过以下方式运行测试:
npm test
这会自动启动 Mocha 并运行 tests
目录中的所有测试。您只需要添加您的测试,它将在运行测试时自动被选中。
运行单个测试
如果您只想快速运行一个测试文件,可以通过直接运行 Mocha 并传入文件名来实现。例如:
npm run test:cli tests/lib/rules/no-undef.js
如果您只想运行一个或一部分 RuleTester
测试用例,请为每个测试用例添加 only: true
或将测试用例包装在 RuleTester.only(...)
中以自动添加它
ruleTester.run("my-rule", myRule, {
valid: [
RuleTester.only("const valid = 42;"),
// Other valid cases
],
invalid: [
{
code: "const invalid = 42;",
only: true,
},
// Other invalid cases
]
})
在处理特定错误并迭代解决方案时,运行单个测试非常有用。在提交拉取请求之前,您应该确保运行 npm test
。npm test
使用 Mocha 的 --forbid-only
选项来防止 only
测试通过完整的测试运行。
对单元测试进行更多控制
npm run test:cli
是 ./node_modules/.bin/mocha
中 Mocha cli 的别名。可提供 选项 以帮助更好地控制要运行的测试。
npm test
中测试的默认超时时间为 10000ms。您可以通过提供 ESLINT_MOCHA_TIMEOUT
环境变量来更改超时时间,例如:
ESLINT_MOCHA_TIMEOUT=20000 npm test