微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Boot EmbeddedKafka junit4 -> junit5迁移

如何解决Spring Boot EmbeddedKafka junit4 -> junit5迁移

在我的 spring boot 项目中,我将嵌入式 kafka 与 kafka 代理的自定义属性结合用于我的一些单元测试,但我似乎没有找到如何为我的用例配置 spring boot kafka

Junit4 代码(简化)

@RunWith(springrunner.class)
@ContextConfiguration(initializers = {ContextLoadsTest.Initializer.class})
@SpringBoottest(classes = TestConfig.class,webEnvironment = SpringBoottest.WebEnvironment.NONE)
public class ContextLoadsTest {
    @ClassRule
    public static EmbeddedKafkaRule embeddedKafka =
            new EmbeddedKafkaRule(1,false);

@Autowire
Someclass class;

@Test
    public void contextLoads() {
    }

    public static class Initializer
            implements ApplicationContextinitializer<ConfigurableApplicationContext> {
        public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
            System.out.println("bootstrap servers: " + embeddedKafka.getEmbeddedKafka().getbrokersAsstring());
            TestPropertySourceUtils.addInlinedPropertiesToEnvironment(configurableApplicationContext,"eventbus.kafka.url=" + embeddedKafka.getEmbeddedKafka().getbrokersAsstring());
            TestPropertySourceUtils.addInlinedPropertiesToEnvironment(configurableApplicationContext,"commandbus.kafka.url=" + embeddedKafka.getEmbeddedKafka().getbrokersAsstring());
        }
    }

到目前为止我发现的是 Annotation 中的选项来设置自定义属性,但在我的情况下不会这样做,因为我需要设置 2 个属性,而注释只允许一个,在 JUnit 中是否有其他选择5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。