java - 集成测试每个测试具有不同属性值的 spring 配置

标签 java spring dependency-injection integration-testing

我们有一个 Spring 应用程序,它以几种方式之一运行,具体取决于特定属性,该属性必须是一小组值之一。当应用程序启动时,此属性被传递到工厂,然后工厂根据它构建略有不同的 bean 实现。

我想为此控制的功能编写一个集成测试,以确保它在属性设置为各种值时正常工作;因此它需要运行一项将属性设置为 1 的测试,一项将属性设置为 2 的测试,等等。每个测试都需要根据需要设置属性,然后重新加载配置,以便所有内容都正确重新配置。

获取上下文并在每个测试中手动刷新它似乎很简单,但是如何在运行时在测试中注入(inject)这些不同的属性来控制这一点?有没有更好的方法来组织这种配置?

最佳答案

我将回答你的第二个问题......那么,有没有更好的方法来组织这种配置?这对于你的情况来说可能是压倒性的,但是你看过吗到 Spring 配置文件?它可以满足您的需要,并且是 Spring 3.1 中引入的新功能,因此这似乎是 Spring 团队为此类问题选择的方法。

这是一个很棒的教程:http://blog.springsource.org/2011/06/21/spring-3-1-m2-testing-with-configuration-classes-and-profiles/

关于java - 集成测试每个测试具有不同属性值的 spring 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14276772/

相关文章:

java - 如何将文件从特定行读取到另一特定行?

java - Spring 的 Azure Pipeline Gradle 构建失败

java - 在外部缓存中缓存分离的 Hibernate 实体

php - Laravel:为什么在实例化其提供的类时不调用已注册的服务提供者?

JavaFX TextArea.append() 导致 java.lang.NullPointerException

java - 如何在单击 TextView 中的文本链接时打开浏览器

java - 用 marvin 缩放图像

java - 使用@PreAuthorize时的安全配置

jsf - 在 JSF 命名 bean 中注入(inject) Java 对象

java - 在现有项目中使用依赖注入(inject)