当前位置: 首页 > 知识库问答 >
问题:

在使用org.springframework.boot.test.context.SpringBootTest时,是否有方法推送环境变量?

周浩淼
2023-03-14

我有一个测试类:

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;


@SpringBootTest
class ThisTestClass {

@Test
void contextLoads() {}

}
private String envVar = System.getenv("ENV_VAR");
import org.springframework.test.context.TestPropertySource;
@TestPropertySource(properties = {"ENV_VAR = some_var"})
    static {
    System.setProperty("ENV_VAR", "some_var");
    }

没有任何运气,有任何想法?

共有1个答案

宋宏毅
2023-03-14

两者都应该起作用...

  • 通过静态初始化设置环境变量
  • 通过属性设置环境变量
@SpringBootTest(properties = { "bar = foo" , "foobar = foobar"} )
class SoTestEnvironmentVariablesApplicationTests {

    static {
        System.setProperty("foo","bar");
    }

    @Autowired Environment environment;

    @Test
    void loadEnvironmentVariables() {
        assertNotNull(environment);
        assertEquals("bar" , environment.getProperty("foo"));
        assertEquals("foo" , environment.getProperty("bar"));
        assertEquals("foobar" , environment.getProperty("foobar"));
    }

}
 类似资料:
  • 在OS X10.8.2上,我使用JNA和gstreamer-java(通过Eclipse IDE)加载gstreamer库。首先,我使用gstreamer.com提供的SDK安装了gstreamer。但是,我卸载了这个,并使用Macports来安装它。 SDK的lib安装到: 现在,假设我想通过某个环境变量设置java来知道这个位置。这可能吗?看起来是这样,因为运行这条线: 显示。但我一辈子都想不

  • 变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。 值得一提的是,Linux 系统中环境变量的名称一般都是大写的,这是一种约定俗成的规范。 我们可以使用 env 命令来查看到 Linux 系统中所有的环境变量,执行命令如下: [r

  • 我有一个Postman集合,我正在尝试与newman一起工作,但我的环境变量没有被使用。 请求URL只是{{URL}},然后我有一个同名的环境变量。我正在使用以下命令运行测试: 我可以在报告中看到环境文件被正确读取,并且包含了我想要使用的变量,但请求失败,报告显示请求是“url”:“https://{url}}”,而不是我真正想要的。 当然,请求失败是因为“https://{{url}}”不是有效

  • 问题内容: 我已经搜索了Wiki模块页面,但是找不到与virtualenv(python)或rvm类似的东西。 这里有人在自己的环境中分隔node.js吗?我真的不喜欢在系统范围内安装npm。 问题答案: 如果拥有系统范围的npm软件包是您的主要问题,那么可以考虑将非常酷的’bundle’命令与npm一起使用。这更接近于冻结宝石或在导轨中使用捆绑器,而不是rvm。 超级容易。只需创建一个packa

  • 问题内容: 我一直在阅读官方文档,但无法找到有关环境变量的任何信息。显然,有一些社区项目支持环境变量,但这对我来说可能是过大了。所以我想知道在使用Vue CLI创建的项目上是否有一些简单的开箱即用的功能可以正常工作。 例如,我可以看到,如果执行以下操作,则会打印出正确的环境,这意味着已经设置好了吗? 我对环境变量和Node有点陌生。 仅供参考,使用Vue CLI 3.0 beta版。 问题答案:

  • 最佳实践最好在values.yaml文件中定义环境变量还是在templates/deployment.yaml放入中定义环境变量? 如果有您使用的示例应用程序,您能提供帮助吗?