控制器 Mockmvc 测试失败

时间:2021-07-01 11:13:27

标签: java spring-boot unit-testing mockmvc

我在测试类上尝试了一堆注释,但总是遇到同样的错误。我正面临这个错误,

 Action:

Consider defining a bean of type 'com.repository.ConfigRepo' in your configuration.

2021-07-01 16:26:14,387 ERROR org.springframework.test.context.TestContextManager [main]: Caught exception while allowing TestExecutionListener [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@2101b44a] to prepare test instance [com.webapp.controller.ConfigControllerTest@1800c1e3]
java.lang.IllegalStateException: Failed to load ApplicationContext

我的控制器代码是这样的,

@WebMvcTest(ConfigController.class)
//@AutoConfigureMockMvc
public class ConfigControllerTest {

    public static final String BASE_PATH = CommonConstants.BASE_CONTEXT_PATH;

    @Autowired
    private MockMvc mockMvc;

    @MockBean
    private RestTemplateBuilder restTemplateBuilder;

    @MockBean
    private AggregateService aggregateService;
  
    @BeforeEach
    void setup() {
        MockitoAnnotations.initMocks(this);

    }

而我的 Application.java 是这样的:

@SpringBootApplication
@EnableCaching
@ComponentScan({ "com.sample", "com.some-common-lib.sample" })
public class Application extends SpringBootServletInitializer {

    /**
     * The main method.
     *
     * @param args the arguments
     */
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    /**
     * Configure.
     *
     * @param builder the builder
     * @return the spring application builder
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }
}

有人能帮我弄清楚为什么我不能在控制器类上运行测试吗?

0 个答案:

没有答案