Skip to main content

通过环境变量间接输入

我们有以下两种方式获取环境变量。

// Node.js 环境下

process.env;
// Vite, Webpack 等打包器环境下

import.meta.env;

针对使用了环境变量的功能,可以直接修改环境变量的值进行测试。

it("process.env", () => {
process.env.USER_AGE = 2;

const r = doubleUserAge();

expect(r).toBe(4);
});

但如果希望环境变量恢复原来的值,可以使用 vi.stubEnv(env, val) 修改环境变量,然后使用 vi.unstubAllEnvs() 还原环境变量。

it("vi.stubEnv", () => {
vi.stubEnv("USER_AGE", 2);

const r = doubleUserAge();

expect(r).toBe(4);
});

afterEach(() => {
vi.unstubAllEnvs();
});

vi.unstubAllEnvs() 常和 afterEach 一起使用。