java - 我可以在 Spring JUnit 测试中使用 @Import 吗?

标签 java spring config

我的项目中有互斥的config配置类:Config1Config2,我想在单元测试中选择一个,例如:

public class Config1 {
    @Bean
    FooBean foo() {
        return new FooBean();
    }
}

(I must remove the `@Configuration` annotation, so I can choose one in the application)

并且,

@RunWith(SpringJUnit4ClassRunner.class)
@Import(Config1.class)
public class FooTest {
    @Inject
    FooBean foo;
    // ...
 }

但是,似乎 JUnit4ClassRunner 在测试类上看不到 @Import 注释。

最佳答案

来自@Import的文档:

Provides functionality equivalent to the {@literal <import/>} element in Spring XML.Only supported for actual {@literal @Configuration}-annotated classes.

所以你是对的,注释被忽略。

关于java - 我可以在 Spring JUnit 测试中使用 @Import 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5562421/

相关文章:

java - 如何强制将对象放入处理程序类中

java - 1 和 0 的二维数组

spring - 如何在 spring-mvc 中为 springfox(更准确的 springfox-swagger2)设置主机 url?

mysql - 将Pentaho演示数据库修改为MySQL后,管理控制台损坏

linux - 带有 fPIC 编译器标志的 CrossCompile openssl 不起作用(找不到 e_os.h)

java - 如何加载 gradle 项目,然后将其用作 IntelliJ 中现有项目之一的依赖项

java - 求两个矩阵的 boolean 积

java - 当从 Atmosphere 的 MeteorServlet 中使用 Spring DispatcherServlet 时,Spring 上下文会加载两次

security - 人们为 Web 应用程序的登录安全做了哪些工作?

wcf - 如何更改azure平台和/或模拟器中的机器配置中的超时?