在每个spring boot @Test上重写单个@Configuration类

非盖尔

在我的spring boot应用程序上,我想在所有@Configuration测试中使用测试配置(尤其是我的@EnableAuthorizationServer @Configuration类)覆盖我的一个类。

到目前为止,在对Spring Boot测试功能Spring Integration测试功能进行了概述之后,没有一个简单的解决方案浮出水面:

  • @TestConfiguration:用于扩展,而不是覆盖;
  • @ContextConfiguration(classes=…​)@SpringApplicationConfiguration(classes =…​)让我重写整个配置,而不仅仅是一个类;
  • 建议使用@Configurationa内部的@Test来覆盖默认配置,但未提供示例。

有什么建议?

亚历克斯

内部测试配置

用于测试的内部@Configuration的示例:

@RunWith(SpringRunner.class)
@SpringBootTest
public class SomeTest {

    @Configuration
    static class ContextConfiguration {
        @Bean
        @Primary //may omit this if this is the only SomeBean defined/visible
        public SomeBean someBean () {
            return new SomeBean();
        }
    }

    @Autowired
    private SomeBean someBean;

    @Test
    public void testMethod() {
        // test
    }
}

可重复使用的测试配置

如果您希望将测试配置重用于多个测试,则可以使用Spring Profile定义一个独立的Configuration类@Profile("test")然后,让您的测试班级通过激活配置文件@ActiveProfiles("test")查看完整的代码:

@RunWith(SpringRunner.class)
@SpringBootTests
@ActiveProfiles("test")
public class SomeTest {

    @Autowired
    private SomeBean someBean;

    @Test
    public void testMethod() {
        // test
    }
}

@Configuration
@Profile("test")
public class TestConfiguration {
    @Bean
    @Primary //may omit this if this is the only SomeBean defined/visible
    public SomeBean someBean() {
        return new SomeBean();
    }
}

@基本的

@Primary对bean定义标注为确保这一具有优先权如果不止一个被发现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Boot:如何避免每个域类的 JPA 存储库过多

来自分类Dev

Spring Boot类路径

来自分类Dev

Spring boot 类行为

来自分类Dev

每个架构问题的 Spring Boot 多租户

来自分类Dev

Spring Boot:使用@Configuration类的单元测试类

来自分类Dev

Spring Boot-是自动注入的单个实现类

来自分类Dev

Spring Boot忽略主类

来自分类Dev

如何使用Spring Boot验证每个REST请求

来自分类Dev

Angular / Spring Boot / Azure Ingress - URL 重写

来自分类Dev

无法在 Spring Boot Test 类中模拟 jdbcTemplate

来自分类Dev

Spring Boot Configuration跳过在多个@Profile上的注册

来自分类Dev

我可以在组件上使用@Profile标记而不在Spring Boot或Web.xml中创建@Configuration类吗?

来自分类Dev

Spring Boot在@SpringBootApplication类上找不到默认构造函数

来自分类Dev

通过Keycloak从Spring Boot保护单个资源

来自分类Dev

使用Spring Boot服务单个HTML页面

来自分类Dev

@boot注解在Spring Boot中的spring-boot-starter-jersey资源上的用途

来自分类Dev

Spring Boot Security + Thymeleaf:缺少IProcessorDialect类

来自分类Dev

spring-boot外部配置整个类

来自分类Dev

Spring Boot-服务类为空

来自分类Dev

Spring boot Controller找不到bean类

来自分类Dev

找不到 Spring Boot Tomcat 类

来自分类Dev

Spring boot rest 忽略一类

来自分类Dev

无法运行spring-boot-test

来自分类Dev

Spring Boot无法在端口80上启动

来自分类Dev

Google App Engine上的Spring Boot

来自分类Dev

部署在tomcat上的Spring Boot无法启动

来自分类Dev

Spring Boot MultipartResolver在PUT方法上丢失

来自分类Dev

在Spring Boot上不广播ContextStartedEvent

来自分类Dev

Spring Boot上的Jersey-ApplicationPath

Related 相关文章

热门标签

归档