java - 控制器 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);
}
}
有人可以帮助弄清楚为什么我不能在控制器类上运行测试吗?
解决方案
推荐阅读
- git - Github 代码库:如何检查 repo 是否被归类为活动
- c# - 如何使用约定正确启用 EF 级联删除
- sql - 子查询错误返回超过 1 个值
- java - 有没有办法更改数据元素,所以我的代码基本上会在我使用构造函数启动方法时从头开始?
- java - Selenium 悬停代码适用于 Chrome 而不是 Edge
- c - Linux内核模块:我的变量在线程函数中使用时丢失了它的值
- python - Pandas 数据框应用函数返回新列会导致标量错误?
- azure - 错误:为机器学习服务 Workpsace 部署 Azure ARM 模板时,“确保使用支持 MSI 的客户端创建工作区”
- javascript - 使用 CropperJS 旋转合适的画布
- ubuntu - 什么是 headless_lib.pak?是否应该将无头库复制到 AArch64 设备?