我在测试类上尝试了一堆注释,但总是遇到同样的错误。我正面临这个错误,
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);
}
}
有人能帮我弄清楚为什么我不能在控制器类上运行测试吗?