我们有一个 Spring 应用程序,它以几种方式之一运行,具体取决于特定属性,该属性必须是一小组值之一。当应用程序启动时,此属性被传递到工厂,然后工厂根据它构建略有不同的 bean 实现。
我想为此控制的功能编写一个集成测试,以确保它在属性设置为各种值时正常工作;因此它需要运行一项将属性设置为 1 的测试,一项将属性设置为 2 的测试,等等。每个测试都需要根据需要设置属性,然后重新加载配置,以便所有内容都正确重新配置。
获取上下文并在每个测试中手动刷新它似乎很简单,但是如何在运行时在测试中注入(inject)这些不同的属性来控制这一点?有没有更好的方法来组织这种配置?
最佳答案
我将回答你的第二个问题......那么,有没有更好的方法来组织这种配置?这对于你的情况来说可能是压倒性的,但是你看过吗到 Spring 配置文件?它可以满足您的需要,并且是 Spring 3.1 中引入的新功能,因此这似乎是 Spring 团队为此类问题选择的方法。
关于java - 集成测试每个测试具有不同属性值的 spring 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14276772/