运行测试
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
],
});
运行单个测试在处理特定错误并迭代解决方案时很有用。在提交 pull request 之前,请务必运行 npm test。npm test 使用 Mocha 的 --forbid-only 选项来防止带有 only 的测试通过完整的测试运行。
对单元测试的更多控制
npm run test:cli 是 ./node_modules/.bin/mocha 中 Mocha cli 的别名。 选项 可用于提供,以帮助更好地控制要运行的测试。
npm test 中测试的默认超时时间为 10000 毫秒。你可以通过提供 ESLINT_MOCHA_TIMEOUT 环境变量来更改超时时间,例如:
ESLINT_MOCHA_TIMEOUT=20000 npm test