【死磕springboot2.0】springboot基于web开发入门

版权声明:本站所提供的文章资讯、软件资源、素材源码等内容均为本作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我,本作者将在三个工作日内改正。 https://blog.csdn.net/weixin_42323802/article/details/83964343

说明,使用JDK8 ,springboot2.0,maven3.5.4,idea2018.2

模块目录结构:
在这里插入图片描述

main函数:

package com.neo.hello;

@SpringBootApplication
public class HelloApplication {
	public static void main(String[] args) {
		SpringApplication.run(HelloApplication.class, args);
	}
}

controller层:

package com.neo.hello.web;
/**
 * @auther SyntacticSugar
 * @data 2018/11/11 0011下午 8:32
 */
@RestController
public class HelloController {
    /**
     * @ requestMapping  路径映射信息,/hello路径下的
     * 所有的Request  都会映射到 hello() 方法   进行处理
     * @return
     *
     *  http://localhost:8080/hello?name=neo  进行访问
     *
     */
    @RequestMapping("/hello")
    public  String hello(String name){
        return  "hello world,"+name;
    }
}

spring单元测试,MockMVC 内置了很多工具类和方法,可以模拟 post、get 请求,并且判断返回的结果是否正确等,也可以利用 print() 打印执行结果,同时也可以返回请求的结果.andReturn().getResponse().getContentAsString(),返回结果在另一片博文中有具体体现;

package com.neo.hello;
// 保留了MockMvcResultHandlers的导包,print()静态的方法
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;

@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloApplicationTests {
	/**
	 * 使用  mockmvc 对web进行单元测试;
	 * MockMvcBuilders.standaloneSetup(...) 中的参数需要导入 controller的实例
	 *
	 */
	private MockMvc mockMvc;
	@Before
	public  void setUp(){
		 mockMvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
	}

	/**   accept(MediaType.APPLICATION_JSON_UTF8) 指定了返回的格式 json 编码utf-8
	 *     print() 会把请求响应打印出来
	 * @throws Exception
	 */
	@Test
	public void getHello() throws Exception {
		mockMvc.perform(MockMvcRequestBuilders.post("/hello?name=小明").
				accept(MediaType.APPLICATION_JSON_UTF8))./*andDo(print());*/
				andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("打豆豆")));
	}
/**
 * andExpect()
 *  MockMvcResultMatchers.content(),获取到 Web 请求执行后的结果;
 * - Matchers.containsString("小明"),判断返回的结果集中是否包含“小明”这个字符串。
 */
}

运行可以看到:
看

猜你喜欢

转载自blog.csdn.net/weixin_42323802/article/details/83964343