ขึ้นอยู่กับวิธีการจัดระเบียบโค้ดของคุณตัวเลือกอื่นสามารถใส่ตัวแปร env ภายในฟังก์ชันที่เรียกใช้ในรันไทม์
ในไฟล์นี้ env var ถูกตั้งค่าในเวลานำเข้าและต้องใช้ไดนามิกrequire
เพื่อทดสอบ env vars ที่แตกต่างกัน (ตามที่อธิบายไว้ในคำตอบนี้ ):
const env = process.env.MY_ENV_VAR;
const envMessage = () => `MY_ENV_VAR is set to ${env}!`;
export default myModule;
ในไฟล์นี้ env var ถูกตั้งค่าในenvMessage
เวลาดำเนินการและคุณควรจะสามารถกลายพันธุ์ process.env ได้โดยตรงในการทดสอบของคุณ:
const envMessage = () => {
const env = process.env.MY_VAR;
return `MY_ENV_VAR is set to ${env}!`;
}
export default myModule;
การทดสอบ Jest:
const vals = [
'ONE',
'TWO',
'THREE',
];
vals.forEach((val) => {
it(`Returns the correct string for each ${val} value`, () => {
process.env.MY_VAR = val;
expect(envMessage()).toEqual(...