如何仅为Cargo测试设置环境变量
针对Cargo测试单独设置环境变量的方法
当然可以,有两种常用方式实现这个需求:
1. 通过config.toml的测试专属profile配置
直接在config.toml里针对test profile单独定义环境变量,这样只有执行cargo test时会加载,cargo build(默认使用dev profile)完全不受影响:
[profile.test.env] FOO = "test_bar"
如果之前的全局[env]配置不需要了,记得删掉,避免全局生效。
2. 命令行临时设置变量
如果不想修改配置文件,也可以在执行测试命令时临时注入环境变量,这种方式更灵活,适合临时调整测试参数:
FOO="test_bar" cargo test
要是你需要为不同构建场景设置不同的变量值,比如开发构建和测试用不同的FOO,还可以分别配置多个profile:
[profile.dev.env] FOO = "dev_bar" [profile.test.env] FOO = "test_bar"
这样cargo build会用dev profile的变量,cargo test则使用test profile的变量。
内容的提问来源于stack exchange,提问作者s4eed
相关产品推荐
相关产品推荐

