Springboot+Junit 模拟测试 Get请求
2018-09-28 10:22
337 查看
版权声明:如果觉得好的话,不防点个赞,那点你们认为不对或是需要补充,可以留言啊!本人原创,未经允许不得转载!! https://blog.csdn.net/qq_28289405/article/details/82876731
controller类里面
[code] @RestController public class Controller { @Autowired private Repository repository; /** * @Description 查询 表 在某段时间之内的tag的全部信息 ,访问数据库 * @Return list * @Param tag (标签), startTime (开始时间), endTime(结束时间) * @Date 2018.09.17 18:20 **/ @GetMapping("/find") public List<Summary> find(String tag, Timestamp startTime, Timestamp endTime){ List<Summary> list = repository.find(tag,startTime,endTime); return list; } /** * @Description 测试 restful 不访问数据库 * @Date 2018-08-19 18:06:23 * @Return list * http://127.0.0.1:8090/findTest */ @GetMapping("/findTest") public List<String> findTest() { List<String> list = new ArrayList<>(); list.add("aaaa"); return list; } }
JunitTest
spring的TestRestTemplate,它实现的是RestOperations接口,里面有好多方法,即get,post,put,delete。但是唯一的缺陷就是直接使用其里面的put和delete方法并没有返回值,这让我们无法用断言测试了。
Get请求对应的是getForObject(String url, Class<T> responseType, Object... uriVariables),它直接接受一个具体的URL,以及返回的类型,接受一个Class类型的泛型,也就是XXX.class。
[code]package com.example.test.Junit; import org.junit.Assert; import org.junit.Test; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; /** * @ClassName JunitTest * @description junit 模拟get请求 * @Author * @Date 2018/9/27 19:06 ******注解说明****** * ①、@SuppressWarnings 简介:java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。 * 作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。 * @SuppressWarnings("unchecked") 告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息 * ②、Get请求对应的是getForObject(String url, Class<T> responseType, Object... uriVariables),它直接接受一个具体的URL,以及返回的类型, * 接受一个Class类型的泛型,也就是XXX.class。 * ③、标准输出流System.out.println和标准错误输出流System.err.println: * System.out.println 能重定向到别的输出流,比如输出到txt文本中, 一般性的输出用out; * System.err.println 只能在屏幕上实现打印,即便重定向也一样,错误使用err。 **/ public class JunitTest { //spring的RestTemplate,它实现的是RestOperations接口,里面有好多方法,即get,post,put,delete。 private RestTemplate template = new RestTemplate(); @SuppressWarnings("unchecked") @Test public void test(){ //程序开始运行时间 long start = System.currentTimeMillis(); for (int i = 0; i < 1000; i++) { //异常处理 try { //String url = "http://localhost:" + 8090 +"/find?tag=ns=1002;s=TZ_HD_1106_SW.PV&startTime=2018-08-13 04:09:09&endTime=2018-08-13 23:59:59"; String url = "http://localhost:" + 8090 + "findTest"; ArrayList<String> result = template.getForObject(url, ArrayList.class); //Junit的静态方法 assertTrue:判断两个值是否相等 ,如果为true,则运行success,反之Failure ; 没有错误提示 Assert.assertTrue("通过主数据的标准化编码进行查询=>测试失败", result.size()>0); System.err.println(result); }catch (Exception e){ e.printStackTrace(); } } //程序运行结束时间 long end = System.currentTimeMillis(); System.out.println("程序运行时间:" + (end - start) + "ms"); } }
我这个代码里面包含了测试时间,但是如果你用idea进行测试的话,可以不写这个测试时间,因为 程序上自带的运行时间,不过每次都要关闭这个测试窗口,不然时间可能会累积
其中,我还遇到了个报错
返回类型不对,这里我就犯了个错,每次一看到.class 反射性的以为是那个类呢,但是在这里并不是,而是Class类型的泛型!!
参考:Springboot+Junit测试Http请求实例包括Get,Post,Put和Delete已及断言Assert的使用
阅读更多相关文章推荐
- spring boot get和post请求,以及requestbody为json串时候的处理
- SpringBoot Junit 测试加载 xml 读取 bean 失败
- SpringBoot构建Restful service完成Get和Post请求
- springboot junit 测试出现的错误
- SpringBoot中Junit测试注入Bean失败的解决方法
- spring boot RestTemplate 发送 get 请求使用误区
- Java 模拟HTTP Get Post请求,关于帖子回帖的(未测试)
- 在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具
- springboot 1.5.2的junit测试
- Spring boot 中的事务管理,并基于junit进行测试
- springboot + mybatis +junit 测试用例编写
- spring boot 加入jsp自定义标签对get请求参数加密
- SpringBoot 与 Postman 实现REST模拟请求
- SpringBoot HTTP接口 GET请求
- Loadrunner 11 测试API java Vuser 模拟Post,Get 请求实例
- spring中 使用JUnit4 测试 代码[模拟服务器启动]
- 基于RFS(robot framework selenium)框架模拟POST/GET请求执行自动化接口测试
- Spring Boot Junit 测试Controller
- spring boot get和post请求,以及requestbody为json串时候的处理
- spring boot 使用@RestController 和 @Controller 构造常见http get ,post请求例子