java - 如何在 Spring 测试中设置环境变量或系统属性?

标签 java spring environment-variables spring-test

我想编写一些测试来检查已部署 WAR 的 XML Spring 配置。不幸的是,有些 bean 需要设置一些环境变量或系统属性。使用@ContextConfiguration方便的测试样式时,如何在spring bean初始化之前设置环境变量?

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:whereever/context.xml")
public class TestWarSpringContext { ... }

如果我使用注释配置应用程序上下文,我看不到在 spring 上下文初始化之前我可以做某事的钩子(Hook)。

最佳答案

您可以在静态初始化程序中初始化 System 属性:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:whereever/context.xml")
public class TestWarSpringContext {

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

}

静态初始化代码将在spring应用上下文初始化之前执行。

关于java - 如何在 Spring 测试中设置环境变量或系统属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11306951/

相关文章:

Java:int[] 数组与 int 数组 []

java - 如何在 Spring Rest Call 中使用 GridFS 从 Mongodb 发送和检索图像?

java - 使用切面劫持不同 servlet 中类的静态方法

java - 无法在另一台 PC 上运行 JAR 文件。环境变量可能有问题?

windows - Git Bash 中 PATH 的开头在哪里?

linux - 同一项目的SVN分支之间自动切换

java - 使用 Selenium webdriver 测试自动完成

java - 为什么oracle存储过程执行时间根据它的执行方式大大增加?

java - 如何制作AWT Button()并使用ImageIcon()、Icon()?

spring - 如何使用基本身份验证保护 spring cloud eureka 服务?