我正在尝试使用本地 .env 文件在带有 jest 的 React 项目上运行快照测试,但我不知道如何让 jest 识别它。
到目前为止我已经尝试过:
dotenv.config({path: 'path/to/.env'});jest.setup.js支持这个功能吗?任何帮助,将不胜感激
Din*_*yan -1
.env配置适用于您的应用程序,而不是您的测试。
例如,如果您想根据 为应用程序中的变量设置不同的值env,它将是这样的
开发环境
GREET="Hello Dev!"
Run Code Online (Sandbox Code Playgroud)
测试环境
GREET="Hello Master!"
Run Code Online (Sandbox Code Playgroud)
生产环境
GREET="Hello User!"
Run Code Online (Sandbox Code Playgroud)
现在您在应用程序中的代码将是
const sendGreeting = () => {
return process.env.GREET || 'default greet';
};
Run Code Online (Sandbox Code Playgroud)
您应该使用在文件中NODE_ENV设置的脚本来运行测试testpackage.json
"scripts": {
...
"test": "NODE_ENV=test jest"
...
}
Run Code Online (Sandbox Code Playgroud)
因此,当您在玩笑中测试此方法时,您将获得正确的测试环境值。
describe('Test Env', () => {
it('should return test greeting in test env', () => {
expect(sendGreetings()).toEqual("Hello Master!");
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12499 次 |
| 最近记录: |