# @altano/vitest-plugins 中文文档

规范地址：https://npmcn.com/package/%40altano/vitest-plugins/

版本：2\.0\.0
npm 元数据更新时间：2026-10-15T06:11:43.358Z
中文译文更新时间：2026-11-06T05:48:14.372Z
软件包许可：ISC

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

原始 npm 页面：https://www.npmjs.com/package/%40altano/vitest-plugins
原文对照：https://npmcn.com/package/%40altano/vitest-plugins/?lang=original
项目主页：https://github.com/altano/npm-packages/tree/main/packages/vitest-plugins
源码仓库：https://github.com/altano/npm-packages

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

- 包体积（解压后）：19.6 kB，19 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：4 个
- peer 依赖：vitest 5\.x\.x，prettier 3\.x\.x
- 首次发布：2024-04-01T09:00:07.791Z
- 最新版本发布：2026-10-15T06:11:42.949Z
- 近 30 天下载量：4664（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 3 个）

## 中文简介

自定义匹配器和快照序列器,以加强活性测试

## 安装

```sh
npm install @altano/vitest-plugins
```

也可以使用：`pnpm add @altano/vitest-plugins`、`yarn add @altano/vitest-plugins`、`bun add @altano/vitest-plugins`

## README

# 维特插头

[![npm](https://badgen.net/npm/v/@altano/vitest-plugins)](https://www.npmjs.com/package/@altano/vitest-plugins) ![Typed with TypeScript](https://badgen.net/npm/types/@altano/vitest-plugins) ![ESM only](https://badgen.net/badge/module/esm%20only?icon=js)

自定义匹配器和快照序列器可以增强活性测试.

# 安装

```
npm install -D @altano/vitest-plugins
```

## 安装自定义匹配器

修改 vite.config.ts / vitest.config.ts :

```ts
export default defineConfig({
  test: {
    setupFiles: [
      "@altano/vitest-plugins/matchers",
      // ...
    ],
    // ...
  },
});
```

在您的 tsconfig.json (如果使用 TypeScript) 中添加匹配器类型 :

```json
{
  "compilerOptions": {
    "types": ["@altano/vitest-plugins/matchers"]
  }
}
```

## 安装快照序列器

修改 vite.config.ts / vitest.config.ts :

```ts
export default defineConfig({
  test: {
    setupFiles: [
      "@altano/vitest-plugins/serializers",
      // ...
    ],
    // ...
  },
});
```

注:您可以选择安装什么:匹配器和序列器不依赖对方.

# 细节

## 快照序列器

### V 文件

将格式化 a [vfile 文档](https://unifiedjs.com/explore/package/vfile/) 使用 Prettier(自动从 vfile 文件名中检测类型),例如.

```snap
FormattedVFile {
  "cwd": "<cwd>",
  "data": {},
  "history": [
    "tests/unit/__fixtures__/basic/input.js",
  ],
  "map": undefined,
  "messages": [],
  "value": "function face() { }"
}
```

### 绝对路径

将替换任何 `process.cwd()` 与 `<cwd>` 在快照中。 当序列化包含绝对路径的字符串时有用,因为这些在运行测试的其他机器上会有所不同.

### URL( URL)

将替换任何 `http://localhost:1234` 与 `http://localhost` 在快照中。 处理使用随机端口的测试服务器时有用 .

### HTML 语言

HTML 格式化了 。 只工作于 HTML 的外观良好, 首先是 `<html` 或者说 `<!doctype`。为了避免无限重写 HTML 格式,它准备使用 `<!-- Formatted HTML -->`。 。 。 .

## 匹配者

Vitest 的错误匹配器允许您与错误消息匹配, 但不包括其他错误对象 :

-   `toThrow(error?)` - 抛出错误([文档](https://jestjs.io/docs/expect#tothrowerror)(中文(简体) )
-   `toThrowErrorMatching[Inline]Snapshot` - 一个错误 _没错_ 匹配一个快照( e)[文档](https://jestjs.io/docs/expect#tothrowerrormatchingsnapshothint)(中文(简体) )

如果您想要断言任何更复杂的事情( 例如一个错误在堆栈中包含一些子字符串), 您就需要这些自定义匹配符 :

### 切换错误

校验出错对象的任何部分( 如堆栈) :

```ts
expect(new Error("face")).toMatchError(
  expect.objectContaining({
    stack: expect.stringContaining("readme.spec.ts"),
  }),
);
```

### 丢弃错误

校验 a 的任何部分 _抛出_ 错误对象( 如堆栈) :

```ts
expect(() => {
  throw new Error("face");
}).toThrowErrorMatching(
  expect.objectContaining({
    stack: expect.stringContaining("readme.spec.ts"),
  }),
);
```

### 选择

校验预期的真实路径( 奇异路径) 。 处理逻辑路径,同义链接等时,比字符串检查更宽大.

```ts
expect("/private/some/path").toBePath("/some/path");
```

### 备忘

校验文件存在( 在文件系统中)

```ts
expect(import.meta.filename).toBeFile();
```

### 要成为目录

验证目录存在( 在文件系统中)

```ts
expect("/").toBeDirectory();
```

### 至等号

验证某一路径的文件内容是否与另一路径的文件内容相匹配

```ts
expect("/some/file.txt").toEqualFile("/other/file.txt");
```

### 拥有自由财产

类似于 `toHaveProperty` 匹配器,但检查给定缓冲器上的exif属性(或可用 `exifr` 图书馆).

### ưμ㼯A

验证响应是否具有预期标题和可选值

### (关于反应对象)

验证回复是否有预期状态代码

## 常见问题

### @altano/vitest-plugins 是什么？

自定义匹配器和快照序列器,以加强活性测试

### 如何安装 @altano/vitest-plugins？

在项目目录运行 npm install @altano/vitest-plugins，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：vitest（5\.x\.x）、prettier（3\.x\.x）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @altano/vitest-plugins 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @altano/vitest-plugins 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @altano/vitest-plugins 可以商用吗？

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

### @altano/vitest-plugins 的下载量有多少？

根据 npm 官方下载统计，@altano/vitest-plugins 在 2026/10/06 – 2026/11/04 这 30 天内被下载 4,664 次，日均约 155 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @altano/vitest-plugins 还在维护吗？

最新版本 2\.0\.0 发布于 2026/10/15（23 天前）；至今共发布 10 个版本，其中过去 12 个月发布了 3 个；首次发布于 2024/04/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

