测试
Hypit 使用 Node.js 内置测试运行器(node:test),而不是 Jest、Vitest 或 Mocha。
运行测试
pnpm test # 包测试 + 边界测试
测试文件位于 packages/,扩展名 .test.ts,由 packages/*/test/**/*.test.ts 这个 glob 发现。
写一个测试
import assert from "node:assert/strict";
import { describe, test } from "node:test";
import { someFunction } from "@hypit/example";
describe("someFunction", () => {
test("returns the expected result", () => {
const result = someFunction(input);
assert.deepStrictEqual(result, expected);
});
});
准入规则
一个测试应当属于它验证的那一层:值解码与默认值、Surface 输入解析、Fragment 依赖、Producer 计算分别测各自的边界;需要真实生成的测试应当用环境开关隔离,避免每次改动都消耗额度。
FAQ
能测试真实渲染吗?
可以,但要用环境开关隔离,默认不跑。
必须用 node:test 吗?
仓库内一致使用它;项目扩展可以自选,但跟随仓库能共用配置。
边界测试是什么?
检查包之间没有越界引用(例如组件直接引用运行时实现)。