# @corva/eslint-plugin-test-selectors 中文文档

规范地址：https://npmcn.com/package/%40corva/eslint-plugin-test-selectors/

版本：1\.0\.0
npm 元数据更新时间：2026-08-06T12:07:08.632Z
中文译文更新时间：2026-11-10T20:06:47.694Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40corva/eslint-plugin-test-selectors
原文对照：https://npmcn.com/package/%40corva/eslint-plugin-test-selectors/?lang=original
项目主页：https://github.com/corva-ai/corva-eslint-plugin-test-selectors#readme
源码仓库：https://github.com/corva-ai/eslint-plugin-test-selectors

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：46.6 kB，40 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2023-12-14T15:04:08.571Z
- 最新版本发布：2023-12-15T12:45:20.457Z
- 近 30 天下载量：7158（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @corva/eslint-plugin-test-selectors
```

也可以使用：`pnpm add @corva/eslint-plugin-test-selectors`、`yarn add @corva/eslint-plugin-test-selectors`、`bun add @corva/eslint-plugin-test-selectors`

## README

# 测试选择器

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

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

## 安装

你首先需要安装 [ESLint 语录](http://eslint.org/),这需要 [节点.js](https://nodejs.org/) (注意: `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` 配置文件 :

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

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

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

默认情况下, 全部运行 [支持的规则](https://npmcn.com/package/%40corva/eslint-plugin-test-selectors/#readme-supported-rules) 你应当发出警告, 如果要更严格,可以使用 `plugin:@corva/test-selectors/recommendedWithErrors`。 。 。 .

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

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

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

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

注:见 [支持的规则](https://npmcn.com/package/%40corva/eslint-plugin-test-selectors/#readme-supported-rules) 下面是完整的清单.

## 自定义规则选项

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

### 测试属性

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

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

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

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

### 忽略已失效

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

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

### 忽略只读

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

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

### 仅限 html

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

```json
{
  "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 是什么？

确保测试 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。作者已将其标记为弃用，新项目建议寻找替代方案。

