版本

运行测试

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 testnpm 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
更改语言