IntelliJ IDEA中JUnit单测运行配置未继承共享环境变量问题
解决IntelliJ IDEA单个JUnit测试不继承环境变量的问题
我太懂这个坑了!当你手动配置了全局JUnit运行的环境变量后,点编辑器左侧的绿色小箭头跑单个测试时,IntelliJ会默认生成一个全新的临时配置,完全不继承你之前设好的环境变量,确实很头疼。下面给你两个最实用的解决办法:
方法一:修改JUnit默认模板(一劳永逸)
这是最推荐的方式,改一次之后所有新生成的测试配置都会自动带上环境变量:
- 打开顶部菜单栏的
Run > Edit Configurations - 在左侧面板最上方找到
Templates分类,展开后选择JUnit - 在右侧的
Environment Variables输入框里,粘贴你之前配置好的环境变量(格式和你之前设置的一致,Windows系统用分号分隔,Mac/Linux用冒号分隔,比如KEY1=VALUE1;KEY2=VALUE2) - 点击
Apply再OK保存设置
之后不管是跑单个测试方法、单个测试类,还是新的测试套件,生成的运行配置都会自动继承这些环境变量,不用再手动重复设置了。
方法二:手动指定单个测试使用已配置的运行环境
如果你不想修改全局模板,也可以临时给单个测试配置环境变量:
- 右键点击编辑器左侧测试方法旁边的绿色运行图标
- 在弹出的菜单里选择
Modify Run Configuration - 在打开的配置窗口中,找到
Environment Variables字段,复制粘贴你之前配置好的变量,或者直接点击右侧的文件夹图标,从已有的配置里导入变量 - 保存后再运行这个测试,就能正常读取环境变量了
另外,如果你的项目是用Gradle或Maven管理的,也可以直接在构建脚本里设置环境变量(比如Gradle的test任务里添加environment配置),这样不管用什么方式运行测试,环境变量都会生效,不过这属于项目层面的配置,看你更倾向哪种方式。
内容的提问来源于stack exchange,提问作者Arnon Axelrod
相关产品推荐
相关产品推荐

