在Jest测试中,可以使用jest.spyOn()
方法来模拟环境变量
npm install --save-dev jest
env.js
的文件,用于存放环境变量相关的代码:// env.js
const getEnvVar = (key) => {
return process.env[key];
};
module.exports = {
getEnvVar,
};
jest.spyOn()
方法模拟环境变量:// env.test.js
const env = require('./env');
describe('Environment Variables', () => {
it('should return the mocked environment variable value', () => {
// 设置要模拟的环境变量
const key = 'API_KEY';
const value = 'mocked_api_key';
// 使用jest.spyOn()模拟process.env对象
const spy = jest.spyOn(process.env, key).mockImplementation(() => value);
// 调用getEnvVar()函数并验证返回值是否为模拟的值
expect(env.getEnvVar(key)).toBe(value);
// 还原被模拟的环境变量
spy.mockRestore();
});
});
package.json
文件中添加测试脚本:{
"scripts": {
"test": "jest"
}
}
npm test
这样,就可以在Jest测试中模拟环境变量了。注意在测试完成后,需要使用mockRestore()
方法还原被模拟的环境变量,以避免对其他测试产生影响。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。