在为基本GET服务运行Java集成测试时,我们的应用程序代码无法检索环境变量。但是,当我们运行应用程序本身时,它可以毫无问题地检索变量。
我们正在使用intellij作为我们的IDE开发Mac(el captiain)。我们已经在bash_profile中导出了变量(例如,导出ORACLE_URL =" *************")。我们可以在设置和刷新后回显变量。
我们完全不知道为什么他们在gradlew bootrun期间工作,而不是在测试运行期间。 bash_profile是存储本地环境变量的正确位置吗?
答案 0 :(得分:0)
如果要从intellij运行它,而不是在bash_profile(在启动终端时运行)中,则通过测试的运行配置设置环境变量。
请参阅环境变量部分here(我假设您正在使用junit,但我认为所有运行配置都有环境变量部分)
答案 1 :(得分:0)
我们为junit测试创建环境变量的当前工作解决方案是运行命令" launchctl setenv USERNAME mrSmith"。我们已将此添加到.bash_profile中,以便在重新启动之间保留变量。
然而,Chii的回答似乎是更明智的行动方式。我们还没有设法在我们的Intellij实例中使用此解决方案。