从头开始创建一个自动产生文档/类型安全的现代API(13) 设置测试环境

下面我们设置一下单元测试的环境,避免测试影响正常环境的数据。

添加测试环境配置文件

添加文件 .env.test:

1
2
3
4
NODE_ENV=development
PORT=3001
LOG_LEVEL=silent
DATABASE_URL=file:./test.db

修改环境变量读取程序

修改文件 utility/env.ts:

1
2
3
4
5
6
7
8
9
10
...
import path from "node:path";

expand(config({
path: path.resolve(
process.cwd(),
process.env.NODE_ENV === "test" ? ".env.test" : ".env",
),
}));
...

修改测试命令

修改package.json:

1
2
3
...
"test": "NODE_ENV=test vitest"
...

修改测试脚本

修改 app/api/[[...route]]/routes/tasks/tasks.test.ts:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
if (env.NODE_ENV !== "test") {
throw new Error("NODE_ENV must be 'test'");
};

describe("Task List", () => {
beforeAll(async () => {
execSync("bun drizzle-kit push");
});

afterAll(async () => {
fs.rmSync("test.db", { force: true });
});
...

测试了一下,成功通过测试。


作者:Bearalise
出处:从头开始创建一个自动产生文档/类型安全的现代API(13) 设置测试环境
版权:本文版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明,必须在文章中给出原文链接。

请我喝杯咖啡吧~

支付宝
微信