因为项目需要,在 app.js 一开始就动态加载了某个确定的 env 变量,并根据这些变量值通过 if else 选择要 app.use(...) 的不同中间件,问题来了:
在写单元测试时,无法有效覆盖到所有 if else 分支,毕竟环境变量在很早的时候就已经加载,app.js 也早于 unit test 加载。这就是说我跑单元测试的时候,app.js 早就以某种特定的 env 跑完了所有逻辑。
那么有没有办法,在单元测试时修改 env 重新加载 app.js 呢?
在写单元测试时,无法有效覆盖到所有 if else 分支,毕竟环境变量在很早的时候就已经加载,app.js 也早于 unit test 加载。这就是说我跑单元测试的时候,app.js 早就以某种特定的 env 跑完了所有逻辑。
那么有没有办法,在单元测试时修改 env 重新加载 app.js 呢?