@corva/eslint-plugin-test-selectors

中文文档
1.0.0发布于 2023/12/15ISCCommonJS近 30 天下载 7158

确保测试 DOM 属性(如:data-test-id)被添加到交互式 DOM 元素中.

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 自定义规则选项
  4. 测试属性
  5. 忽略已失效
  6. 忽略只读
  7. 仅限 html
  8. 支持的规则

测试选择器

强制执行 data-test-id (对大小写敏感的)属性存在于交互式DOM元素上来帮助UI测试.

  • ❌ <button>Download</button>
  • ✅ <button data-test-id="download-button">Download</button>

安装

你首先需要安装 ESLint 语录,这需要 节点.js (注意: eslint-plugin-test-selectors 需要节点.js 10+):

$ yarn add eslint --dev

下一个,安装 @corva/eslint-plugin-test-selectors数字 :

$ yarn add @corva/eslint-plugin-test-selectors --dev

使用量

添加 @corva/test-selectors 到您的插件区 .eslintrc 配置文件 :

{
  "plugins": ["@corva/test-selectors"]
}

如果您想要使用所有推荐的默认规则, 您可以简单地将此行添加到 extends 区域 .eslintrc 配置 :

{
  "extends": ["plugin:@corva/test-selectors/recommended"]
}

默认情况下, 全部运行 支持的规则 你应当发出警告, 如果要更严格,可以使用 plugin:@corva/test-selectors/recommendedWithErrors。 。 。 .

另一种选项:您也可以在 rules 区域 .eslintrc 配置 。 例如,如果你只想启用 @corva/test-selectors/button 规则,跳过 extends 以上添加,并在 rules 区域 .eslintrc 配置 :

{
  "rules": {
    "@corva/test-selectors/button": ["warn", "always"]
  }
}

如果您喜欢大部分推荐规则,请添加 extends 选项上,但发现一个特别麻烦,你可以简单地禁用它:

{
  "rules": {
    "@corva/test-selectors/anchor": "off"
  }
}

注:见 支持的规则 下面是完整的清单.

自定义规则选项

所有测试都可以通过传递一个具有以下一个或多个属性的物体单独定制.

测试属性

预期的默认测试属性是 data-test-id但你可以随心所欲地推翻它 这是你如何使用 data-some-custom-attribute 相反:

{
  "rules": {
    "@corva/test-selectors/onChange": [
      "warn",
      "always",
      { "testAttribute": "data-some-custom-attribute" }
    ]
  }
}

注意: 您也可以通过多个属性

{
  "rules": {
    "@corva/test-selectors/onChange": [
      "warn",
      "always",
      { "testAttribute": ["data-testid", "testId"] }
    ]
  }
}

忽略已失效

默认情况下,所有元素 disabled 属性被忽略,例如:. <input disabled />如果您不想忽略此属性, 设置 ignoreDisabled 改为 false数字 :

{
  "rules": {
    "@corva/test-selectors/onChange": ["warn", "always", { "ignoreDisabled": false }]
  }
}

忽略只读

默认情况下,所有元素 readonly 属性被忽略,例如:. <input readonly />如果您不想忽略此属性, 设置 ignoreReadonly 改为 false数字 :

{
  "rules": {
    "@corva/test-selectors/onChange": ["warn", "always", { "ignoreReadonly": false }]
  }
}

仅限 html

仅支持于 button 规则,此选项将使名为按钮的 React 组件免于规则.

{
  "rules": {
    "@corva/test-selectors/button": ["warn", "always", { "htmlOnly": true }]
  }
}

支持的规则

  • @corva/test-selectors/anchor
  • @corva/test-selectors/button
  • @corva/test-selectors/input
  • @corva/test-selectors/onChange
  • @corva/test-selectors/onClick
  • @corva/test-selectors/onKeyDown
  • @corva/test-selectors/onKeyUp
  • @corva/test-selectors/onSubmit

版本与发布记录

@corva/eslint-plugin-test-selectors 共发布 2 个版本,首次发布于 2023/12/14;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.0latest2023/12/152 年前
0.0.0-c3397592023/12/142 年前

关于 @corva/eslint-plugin-test-selectors 的常见问题

@corva/eslint-plugin-test-selectors 是什么?

确保测试 DOM 属性(如:data-test-id)被添加到交互式 DOM 元素中.注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

如何安装 @corva/eslint-plugin-test-selectors?

在项目目录运行 npm install @corva/eslint-plugin-test-selectors,或使用 pnpm add / yarn add / bun add。

@corva/eslint-plugin-test-selectors 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/corva__eslint-plugin-test-selectors 是否存在。

@corva/eslint-plugin-test-selectors 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@corva/eslint-plugin-test-selectors 可以商用吗?

@corva/eslint-plugin-test-selectors 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@corva/eslint-plugin-test-selectors 的下载量有多少?

根据 npm 官方下载统计,@corva/eslint-plugin-test-selectors 在 2026/10/11 – 2026/11/09 这 30 天内被下载 7,158 次,日均约 239 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@corva/eslint-plugin-test-selectors 还在维护吗?

最新版本 1.0.0 发布于 2023/12/15(2 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/12/14。作者已将其标记为弃用,新项目建议寻找替代方案。