通过环境变量间接输入
我们有以下两种方式获取环境变量。
// 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
一起使用。