如何解决使用MockMvc测试Spring Controller时如何初始化Controllers字段
我正在使用Spring Boot 2.2.4,并使用@AutoConfigureMockMvc初始化MockMvc对象。并测试我的控制器的端点:
mockMvc.perform(get(URL)).andExpect(status().isOk());
但是我还必须在此控制器中模拟服务。尝试仅在测试类中自动连接该控制器:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class MyControllerIntegrationTest {
@Autowired
MyController myController;
然后尝试为此对象设置模拟服务:
FeignService feignService = mock(FeignService.class);
//setting up some when() invocations
//set feignService to myController with reflection
但是当我执行嘲笑vc GET请求并进入Controller时,还有另一个MyController实例,而不是我将feignService设置为的那个实例。
那么如何设置经过测试的Controller的字段?如何设置模拟服务?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。