将模拟注入Spring MockMvc WebApplicationContext

将模拟注入Spring MockMvc WebApplicationContext,第1张

将模拟注入Spring MockMvc WebApplicationContext

Spring

MockRestServiceServer
正是您想要的。

来自javadoc的简短描述:

客户端REST测试的主要入口点。用于涉及直接或间接(通过客户端代码)使用RestTemplate的测试。提供了一种对将通过RestTemplate执行的请求设置细粒度期望的方法,以及一种定义发送回响应的方法,从而消除了对实际运行的服务器的需求。

尝试像这样设置测试:

@WebAppConfiguration@ContextConfiguration(classes = {YourSpringConfig.class})@RunWith(SpringJUnit4ClassRunner.class)public class ExampleResourceTest {    private MockMvc mockMvc;    private MockRestServiceServer mockRestServiceServer;    @Autowired    private WebApplicationContext wac;    @Autowired    private RestOperations restOperations;    @Before    public void setUp() throws Exception {        mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();        mockRestServiceServer = MockRestServiceServer.createServer((RestTemplate) restOperations);    }    @Test    public void testMyApiCall() throws Exception {        // Following line verifies that our pre behind /api/my/endpoint made a REST PUT        // with expected parameters to remote service successfully        expectRestCallSuccess();        this.mockMvc.perform(MockMvcRequestBuilders.get("/api/my/endpoint")) .andExpect(status().isOk());    }    private void expectRestCallSuccess() {        mockRestServiceServer.expect( requestTo("http://remote.rest.service/api/resource")) .andExpect(method(PUT)) .andRespond(withSuccess("{"message": "hello"}", APPLICATION_JSON));    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5675948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存