java 模板类 mock_java-集成测试中MockMvc和RestTemplate之间的区别

正如在此所说要测试应用程序的服务器端时,应使用RestTemplate:

Spring MVC Test建立在RestTemplate的模拟请求和响应的基础上,不需要运行中的servlet容器。 主要区别在于,实际的Spring MVC配置是通过TestContext框架加载的,而请求是通过实际调用29577116101163100100和运行时使用的所有相同Spring MVC基础结构来执行的。

例如:

@RunWith(SpringJUnit4ClassRunner.class)

@WebAppConfiguration

@ContextConfiguration("servlet-context.xml")

public class SampleTests {

@Autowired

private WebApplicationContext wac;

private MockMvc mockMvc;

@Before

public void setup() {

this.mockMvc = webAppContextSetup(this.wac).build();

}

@Test

public void getFoo() throws Exception {

this.mockMvc.perform(get("/foo").accept("application/json"))

.andExpect(status().isOk())

.andExpect(content().mimeType("application/json"))

.andExpect(jsonPath("$.name").value("Lee"));

}}

和RestTemplate,当您要测试Rest Client-side应用程序时应使用:

如果您使用的代码是2957711610116316310016,则可能需要对其进行测试,并且可以针对正在运行的服务器或模拟RestTemplate。 客户端REST测试支持提供了第三种选择,即使用实际的RestTemplate,但使用自定义ClientHttpRequestFactory对其进行配置,该自定义的ClientHttpRequestFactory对照实际请求检查期望并返回存根响应。

例:

RestTemplate restTemplate = new RestTemplate();

MockRestServiceServer mockServer = MockRestServiceServer.createServer(restTemplate);

mockServer.expect(requestTo("/greeting"))

.andRespond(withSuccess("Hello world", "text/plain"));

// use RestTemplate ...

mockServer.verify();

也读这个例子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值