为 TS 配置 Vitest/Jest
为 TypeScript 项目安装并配置 Vitest 或 Jest;编写一个简单的测试并运行它。
为 TS 配置 Vitest/Jest 是 CoddyKit 上的免费 TypeScript Academy 课时。 这是第 1 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 TypeScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 TypeScript Academy 课程共包含 3 节课。
简介
目标:为 Vitest 或 Jest 配置 TypeScript。您将安装依赖、添加配置、编写一个小测试并运行它。
安装 Vitest
Vitest 原生支持 Vite:启动迅速、优先使用 ESM,并提供出色的开发体验。请同时安装 @types/node 以获得全局类型。
npm install --save-dev vitest @vitest/ui @types/nodeVitest 示例
添加 vitest.config.ts,编写一个小测试,然后使用 npx vitest 或 npm test 脚本运行。
// vitest.config.ts
import { defineConfig } from "vitest/config";
export default defineConfig({
test: { globals: true }
});
// src/sum.ts
export const sum = (a: number, b: number) => a + b;
// src/sum.test.ts
import { sum } from "./sum";
import { describe, expect, it } from "vitest";
describe("sum", () => {
it("adds numbers", () => {
expect(sum(2, 3)).toBe(5);
});
});安装 Jest
Jest 需要用于 TS 的转换器。请使用 ts-jest 在运行时即时编译测试。
npm install --save-dev jest ts-jest @types/jest @types/nodeJest 示例
设置 preset: "ts-jest"。Jest 无需构建步骤即可运行 .ts 测试。
// jest.config.js
module.exports = {
preset: "ts-jest",
testEnvironment: "node",
};
// src/sum.test.ts
import { sum } from "./sum";
test("adds numbers", () => {
expect(sum(2, 3)).toBe(5);
});脚本
添加脚本以获得流畅的工作流程。在开发过程中使用监视模式,可以快速获得反馈。
// package.json (scripts)
{
"scripts": {
"test": "vitest",
"test:ui": "vitest --ui",
"test:jest": "jest"
}
}问题
快速检查:在 Jest + TS 配置中,ts-jest 的作用是什么?
回顾
回顾:Vitest(原生支持 Vite)和 Jest(应用广泛)都能很好地配合 TS。配置一次后,即可在监视模式或 CI 中运行测试。
常见问题解答
「为 TS 配置 Vitest/Jest」课时是免费的吗?
是的 — 「为 TS 配置 Vitest/Jest」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 TypeScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 TypeScript Academy 课程共包含 3 节课。
「为 TS 配置 Vitest/Jest」这节课中我会学到什么?
为 TypeScript 项目安装并配置 Vitest 或 Jest;编写一个简单的测试并运行它。 你通过在浏览器中直接运行的动手代码来练习 TypeScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 TypeScript Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 TypeScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 3 节。
「为 TS 配置 Vitest/Jest」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 TypeScript Academy 课中编写并运行代码吗?
能。每节 TypeScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 为 TS 配置 Vitest/Jest
- 测试与模拟的类型;expectTypeOf
- 端到端类型概览(Playwright/Cypress)