IT干货网

RestTemplate接口测试工具学习

flyfish 2022年03月04日 编程设计 232 0

主要用于post接口测试,测试reset风格的接口。

一、创建一个Base类

创建RestTemplate和HttpHeaders

复制代码
 1 package com.tongtech; 
 2  
 3 import org.springframework.http.HttpHeaders; 
 4 import org.springframework.web.client.RestTemplate; 
 5  
 6 public class BaseTest { 
 7     protected static RestTemplate getRestTemplate() { 
 8         return new RestTemplate(); 
 9     } 
10  
11     protected static HttpHeaders createHeaders() { 
12         return new HttpHeaders(); 
13     } 
14      
15     protected String getWebRoot(){ 
16         return "168.1.37.36:8080/cloud"; 
17     } 
18 }
复制代码

 二、RestTemplate测试类继承base类

最后执行方法:postForObject(url,params,String.class)会返回方法的返回值。一般都是json格式的返回值

参数:url   要访问的接口方法路径。

           params  方法所需要的参数。

           String.class   方法的返回类型。

复制代码
 1 package com.tongtech; 
 2  
 3 import java.util.HashMap; 
 4 import java.util.Map; 
 5  
 6 import org.junit.Test; 
 7 import org.springframework.http.HttpHeaders; 
 8 import org.springframework.http.MediaType; 
 9 import org.springframework.web.client.RestTemplate; 
10  
11 public class RestTestDemo extends BaseTest{ 
12      
13     @Test 
14     public void testNodeToPlat() { 
15         String url = "http://168.1.37.36:8080/cloud/wbService/largeScreen/nodeMonitor/nodeToPlat"; 
16         RestTemplate restTemplate = getRestTemplate(); 
17         HttpHeaders headers = createHeaders(); 
18         headers.setContentType(MediaType.APPLICATION_JSON); 
19         headers.setAccept(MediaType.parseMediaTypes(MediaType.APPLICATION_JSON_VALUE)); 
20         Map<String, Object> params = new HashMap<String, Object>(); 
21         params.put("level", 213); 
22         params.put("platId", "10_16_100"); 
23         System.out.println(restTemplate.postForObject(url, params, String.class)); 
24     } 
25  
26 }
复制代码

三、测试的接口

需要注意的是,接口方法的接收参数使用map来接收。需要使用@RequsetBody注解,返回值也是@ResponseBody的json字符串

Test

 四、get方式接口测试

测试类接口:用法和post一样,只是路径上的变化,和调用的方法不同

被测试的GET方法,接收参数不需要@RequestBody注解

复制代码
 1     @Test 
 2     public void testNodeExchange() { 
 3         String url = "http://localhost:8080/cloud/wbService/largeScreen/nodeMonitor/list?curPageNum={curPageNum}&completeStatus={completeStatus}"; 
 4         RestTemplate restTemplate = getRestTemplate(); 
 5         HttpHeaders headers = createHeaders(); 
 6         headers.setContentType(MediaType.TEXT_PLAIN); 
 7         headers.setAccept(MediaType.parseMediaTypes(MediaType.APPLICATION_JSON_VALUE)); 
 8         Map<String, Object> params = new HashMap<String, Object>(); 
 9         params.put("curPageNum", 10); 
10         params.put("completeStatus", "1"); 
11         System.out.println(restTemplate.getForObject(url, String.class, params)); 
12     }
复制代码

评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!