首页 > 解决方案 > 单元测试:使用 SpringApplication.run 模拟 SpringBootApplication 主类

问题描述

我一直在研究这个问题,但无法找到在我的 Spring Boot 应用程序中模拟主类的方法(使用下面提供的代码);无需直接调用我的测试类中的实际类(我需要避免)。

我已经尝试过 Power Mockito 和 MockRunner,但似乎不起作用。我该如何进行?

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration;

@SpringBootApplication(exclude = KafkaAutoConfiguration.class)
public class KafkaConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(KafkaConsumerApplication.class, args);
    }

}

PS我正在提供我为相同编写的原始测试课程,这不是合适的测试方式

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = KafkaConsumerApplication.class)
@ActiveProfiles("dev")
public class KafkaConsumerApplicationTest {
    @Test
    public void contextLoads() {
    }
}

标签: springspring-bootunit-testingapache-kafkamocking

解决方案


推荐阅读