必备技能~Java编程使用Junit实现接口单元测试,快速实现接口全覆盖(建议收藏)(1)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

*/

private static final long serialVersionUID = -1327286344329810029L;

/**

  • Common implement equals method.

*/

@Override

public boolean equals(Object obj) {

if (this == obj) {

return true;

}

if (!(obj instanceof CommonBean)) {

return false;

}

return EqualsBuilder.reflectionEquals(this, obj);

}

/**

  • Generate the hash code.

*/

@Override

public int hashCode() {

return HashCodeBuilder.reflectionHashCode(this);

}

/**

  • Common implement toString method.

*/

@Override

public String toString() {

return ReflectionToStringBuilder.toString(this);

}

}

2.Post请求方法

==========

public static String getJsonData(String urls,int command,String json) {

StringBuffer sb=new StringBuffer();

try {

// 创建url资源

URL url = new URL(urls);

// 建立http连接

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

// 设置允许输出

conn.setDoOutput(true);

// 设置允许输入

conn.setDoInput(true);

// 设置不用缓存

conn.setUseCaches(false);

// 设置传递方式

conn.setRequestMethod(“POST”);

// 设置维持长连接

conn.setRequestProperty(“Connection”, “Keep-Alive”);

// 设置文件类型:

conn.setRequestProperty(“Content-Type”,“application/json; charset=UTF-8”);

// 设置接收类型否则返回415错误

conn.setRequestProperty(“accept”,“application/json”);

// 设置文件字符集:

conn.setRequestProperty(“Charset”, “UTF-8”);

// 设置文件类型:

conn.setRequestProperty(“contentType”, “application/json”);

conn.setRequestProperty(“command”, command+“”);

// 开始连接请求

conn.connect();

OutputStream out = new DataOutputStream(conn.getOutputStream()) ;

// 写入请求的字符串

out.write(json.getBytes());

out.flush();

out.close();

//System.out.println(conn.getResponseCode());

// 请求返回的状态

if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){

//System.out.println(“连接成功”);

// 请求返回的数据

InputStream in1 = conn.getInputStream();

try {

String readLine=new String();

BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,“UTF-8”));

while((readLine=responseReader.readLine())!=null){

sb.append(readLine).append(“\n”);

}

responseReader.close();

//System.out.println(sb.toString());

} catch (Exception e1) {

e1.printStackTrace();

}

} else {

System.out.println(“error++”);

}

} catch (Exception e) {

e.printStackTrace();

}

return sb.toString();

}

3.Junit实现

=========

//本地项目访问地址

String serverUrl=“http://localhost:8080/weixin/api.do”;

//单元测试接口列表

HashMap<Integer, String > myMap = new HashMap<Integer, String>(){{

put(MiniAppDefineConstant.GET_GOODS_LIST,“1获取商品列表”);

put(MiniAppDefineConstant.GET_GOODS_INFO,“3查询商品详情”);

put(MiniAppDefineConstant.GOODS_COLLECT_LIST,“62收藏列表”);

put(MiniAppDefineConstant.GOODS_COLLECT_ADD,“63收藏”);

put(MiniAppDefineConstant.GOODS_COLLECT_DEL,“64取消收藏”);

}};

/**

  • 单元测试主入口

*/

@Test

public void miniAppMain() {

miniApp(MiniAppDefineConstant.GET_GOODS_LIST);//1获取商品列表

miniApp(MiniAppDefineConstant.GET_GOODS_INFO);//3查询商品详情

miniApp(MiniAppDefineConstant.GOODS_COLLECT_ADD);//63收藏

miniApp(MiniAppDefineConstant.GOODS_COLLECT_LIST);//62收藏列表

miniApp(MiniAppDefineConstant.GOODS_COLLECT_DEL);//64取消收藏

}

//单元测试具体实现

public void miniApp(int command) {

String json=“”;

if(command==MiniAppDefineConstant.GET_GOODS_LIST){//获取商品列表

json=“{“goodsName”:“测试”,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”,“page”:1,“count”:10}”;

}else if(command==MiniAppDefineConstant.GET_GOODS_INFO){//查询商品详情

json=“{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”}”;

}else if(command==MiniAppDefineConstant.GOODS_COLLECT_LIST){//收藏列表

json=“{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”,“page”:1,“count”:10}”;

}else if(command==MiniAppDefineConstant.GOODS_COLLECT_ADD){//收藏

json=“{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”}”;

}else if(command==MiniAppDefineConstant.GOODS_COLLECT_DEL){//取消收藏

json=“{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”}”;

}

System.out.println(command+“//”+myMap.get(command)+“------------”+json);

ResponsePacket responsePacket=JsonUtil.fromJson(getJsonData(serverUrl,command,json),ResponsePacket.class);

assertEquals(ResponsePacket.STATUS_CODE_SUCESS,responsePacket.getStatusCode());

}

4.单元测试运行结果

==========

都通过单元测试接口

20003//1获取商品列表------------{“goodsName”:“测试”,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”,“page”:1,“count”:10}

20005//3查询商品详情------------{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”}

21002//63收藏------------{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”}

21001//62收藏列表------------{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”,“page”:1,“count”:10}

21003//64取消收藏------------{“goodsId”:70,“openId”:“o-1234zXBPJ1234c1OrNpzql1234”}

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-bQPT4dSF-1715320331559)]
[外链图片转存中…(img-k1W8sJdu-1715320331560)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值