上文 java springboot测试类鉴定虚拟MVC运行值与预期值是否相同
中 我们验证了它HTTP的返回状态 简单说 校验了他 是否成功的状态
这次 我们来不对得到的内容
我们 直接改写测试类代码如下
package com.example.webdom;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.ResultMatcher;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.ContentResultMatchers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class WebDomApplicationTests {
@Test
void contextLoads(@Autowired MockMvc mvc) throws Exception {
MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/TextWeb");
ResultActions action = mvc.perform(builder);
ContentResultMatchers content = MockMvcResultMatchers.content();
ResultMatcher result = content.string("springboot");
action.andExpect(result);
}
}
这次 我们声明 content 表示要比对内容
然后 content.string中设置预期内容 最后比对
和我们上文的比对格式基本是一致的 只是换了写关键字
这里 我们直接运行
这边运行就通过了 因为我们最后返回的确实是个 springboot
那么 这里 我们将匹配内容改一下
这里 我们改个错的 然后重新运行
我们可以看到 这里他就抛异常了 里面会告诉你 预期是springboot
但实际得到的是 springboot2