egg单测

发布时间:2026/8/6 5:57:56
egg单测 Egg 单测知识点总结1. 测试工具分工工具主要作用Vitest测试运行器,负责发现测试文件(找到.test.ts文件)、执行测试用例、提供断言和 mock API@eggjs/mock启动测试环境下的 Egg 应用,并提供接口请求和测试辅助能力@eggjs/tegg-vitest/runner让 Vitest 能正确运行 Egg/Tegg 依赖注入体系下的测试简单理解:​Vitest​:负责“跑测试”​**@eggjs/mock**​:负责“把 Egg 应用在测试环境启动起来”​**@eggjs/tegg-vitest/runner**​:负责“让 Egg/Tegg 的依赖注入在 Vitest 中正常工作”2. 一个常见的 Egg 接口测试示例import{app}from'@eggjs/mock/bootstrap';import{beforeAll,beforeEach,expect,test}from'vitest';import{mockSsoLogin}from'../../../../helper/sso.ts';importtype{SessionService}from'../../../../../app/module/session/service/SessionService.ts';beforeAll(()={if(!process.env.DB_SOCKET)process.env.DB_SOCKET='/tmp/mysql.sock';});beforeEach(()={mockSsoLogin(app);});test('GET /api/dashboard/info 返回 appCode 对应的 sessionId',async()={// 1. Arrange:准备测试数据constsessionService=awaitapp.getEggObjectFromName('sessionService')asSessionService;constappId=1_010_000+Math.floor(Math.random()*