# 编写与运行测试

URL: https://caijiao.org/bun/test/write-run
Source: docs/bun/test/write-run.md
Description: 本章节介绍了如何在 Bun 中编写和运行测试，帮助开发者通过简单的步骤验证代码功能，确保应用稳定性。

Bun 提供了一个简单易用的测试框架，支持开发者快速编写和执行测试用例。通过 `bun test` 命令，开发者可以高效地进行单元测试和集成测试，确保代码质量和应用的稳定性。

## 1. 编写测试

[Bun](/bun/) 的测试框架基于 Jest 风格，支持常见的断言和测试结构。以下是一个简单的测试示例，验证数字相加的正确性：

```js
import { expect } from 'bun:test';

it('should add numbers correctly', () => {
  const sum = 2 + 3;
  expect(sum).toBe(5);
});
````

这个测试检查了 2 加 3 是否等于 5。`it` 表示一个测试用例，`expect` 用来断言值是否符合预期。

## 2. 运行测试

一旦编写完测试用例，可以使用 `bun test` 命令运行所有测试文件。默认情况下，Bun 会查找以 `.test.js` 或 `.test.ts` 结尾的文件并执行它们。

```bash
bun test
```

该命令会自动执行项目中的所有测试，输出测试结果。

## 3. 运行特定的测试文件

如果只想运行特定的测试文件，可以通过命令指定该文件。例如，要运行 `math.test.js` 文件中的测试：

```bash
bun test math.test.js
```

只会执行该文件中的测试用例，方便快速调试特定部分。

## 4. 使用监视模式

在开发过程中，可以启用监视模式，这样每当修改测试文件时，Bun 会自动重新运行测试。使用 `--watch` 参数启用此功能：

```bash
bun test --watch
```

这使得开发者可以在写代码时实时检查测试结果，提高开发效率。

## 5. 查看测试报告

Bun 会自动生成清晰的测试报告，显示每个测试的结果，并标明失败的测试用例。对于失败的测试，Bun 会提供详细的错误堆栈信息，帮助开发者快速定位和修复问题。

## 总结

Bun 提供了易于使用的测试框架，使开发者能够轻松编写和运行测试。通过监视模式和详细的测试报告，开发者能够高效地验证代码的正确性并确保应用的稳定性。
