一起买beta版模块接口单元测试

测试目的

保证代码质量,对各个模块进行单元测试,不仅可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误。

而且不用每次启动程序而等待浪费时间。

单元描述

  • 登录接口

    回调函数返回登录信息

  • 获取用户信息接口

    回调函数返回用户个人信息

  • 获取我的帖子接口

    回调函数返回我的帖子列表

  • 修改用户信息接口

    回调函数返回修改后的结果

  • 查看帖子详情

    回调函数返回帖子详情

  • 管理员获得被举报帖子接口

    回调函数返回被举报的帖子列表。

测试过程

  • 用户登录测试
    @Test
public void testCallbackLoginInfo() throws Exception { GetCallbackLoginInfo(new HttpCallbackListener() {
@Override
public void onFinish(LoginInfo response) {
System.out.println("respons.getReturnUserName=:" + response.getReturnUserName());
System.out.println("respons.getReturnSuccess=:" + response.getReturnSuccess());
System.out.println("respons.getReturnMessage=:" + response.getReturnMessage());
System.out.println("respons.getPhoneNumber=:" + response.getPhoneNumber());
System.out.println("respons.getEamilAddress=:" + response.getEamilAddress());
System.out.println("respons.getSex=:" + response.getSex());
System.out.println("respons.getName=:" + response.getName());
System.out.println("respons.getBirthday=:" + response.getBirthday());
System.out.println("respons.getSchool=:" + response.getSchool());
System.out.println("respons.getOccpuation=:" + response.getOccupation());
System.out.println("respons.getHeadPortati=:" + response.getHeadPortait());
System.out.println("respons.getDescription=:" + response.getDescription());
}

测试结果:

  • 获取用户信息测试
    @Test
public void testCallbackPersonInformation() throws Exception { GetCallbackPersonInformation(new HttpCallbackListener() {
@Override
public void onFinish(PersonalInformation response) {
System.out.println("respons.getName:" + response.getName());
System.out.println("respons.getSex=:" + response.getSex());
System.out.println("respons.getEmilAddress=:" + response.getEmilAddress());
System.out.println("respons.getUserName=:" + response.getUserName());
System.out.println("respons.getBirthday=:" + response.getBirthday());
System.out.println("respons.getDescription=:" + response.getDescription());
System.out.println("respons.getHeadPortati=:" + response.getHeadPortati());
System.out.println("respons.getOccpation=:" + response.getOccpation());
System.out.println("respons.getSchool=:" + response.getSchool());
System.out.println("respons.getPhoneNumber=:" + response.getPhoneNumber());
}

测试结果:

  • 修改用户信息
    @Test
public void testCallBoolean() throws Exception { GetCallbackBoolean(new HttpCallbackListener() {
@Override
public void onFinish(boolean response) {
System.out.println("respons=:" + response);
}

测试结果:

  • 查看帖子详情
    @Test
public void testCallbackPostDetail() throws Exception { GetCallbackPostDetail(new HttpCallbackListener() {
@Override
public void onFinish(PostsDetail response) {
System.out.println("response.getMessageId=:" + response.getMessageId());
System.out.println("response.getTitle=:" + response.getTitle());
System.out.println("response.getCommoditye=:" + response.getCommodity());
System.out.println("response.getContact=:" + response.getContact());
System.out.println("response.getDay=:" + response.getDay());
System.out.println("response.getHour=:" + response.getHour());
System.out.println("response.getDescription=:" + response.getDescription());
System.out.println("response.getLocation=:" + response.getLocation());
System.out.println("response.getPhoto=:" + response.getPhoto());
System.out.println("response.getPostTime=:" + response.getPostTime());
System.out.println("response.getPrice=:" + response.getPrice());
System.out.println("response.getMember=:" + response.getMember());
System.out.println("response.getType=:" + response.getType());
System.out.println("response.getUnit=:" + response.getUnit());
}

测试结果:

  • 获取我的帖子
    @Test
public void testCallbackPosts() throws Exception { GetCallbackPosts(3,new HttpCallbackListener() {
@Override
public void onFinish(Posts[] response) {
for (int i =0 ;i<response.length; i++) {
System.out.println("response["+i+"].getMessageId:"+response[i].getMessageId());
System.out.println("response["+i+"].getTitle:"+response[i].getTitle());
System.out.println("response["+i+"].getPhoto:"+response[i].getPhoto());
System.out.println("response["+i+"].getPostTime:"+response[i].getPostTime());
System.out.println("response["+i+"].getHeadPortait:"+response[i].getHeadPortait());
System.out.println("response["+i+"].getUserName:"+response[i].getUserName()); }
}

测试结果:

结果统计

模拟从服务器返回的所有可能的数据,均能成功接收。

质量评估

由于精心修改过,总体没有什么问题

测试总结

整个测试过程主要是模拟服务器返回数据。结果比较成功,所有数据能成功返回。

但是关于线程的单元测试,查阅了大量的资料也没能得到满意的答案。

所以未能对各个模块进行准确的单元测试。总的来说,相比于Alpha版本,已经明显体会到单元测试的意义及重要性。

一起买beta版模块单元测试的更多相关文章

  1. 一起买beta版PHP单元测试

    一起买beta版PHP单元测试 测试目的 保证代码质量,对各个单元进行测试,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误. 单元描述 完成帖子接口 ​ 将"正在进行&q ...

  2. 一起买beta版本文档报告汇总

    一起买beta版本文档报告汇总 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 一.Beta版本冲 ...

  3. 一起买beta版UI测试

    一起买beta版UI测试 测试目的 保证代码质量,对各个单元进行测试,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误. UI测试 登录模块测试 ​ 登录模拟过程. 发帖模块测试 ​ ...

  4. 一起买Beta版本系列文档

    一起买beta版本文档报告汇总 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 一.Beta版本冲 ...

  5. 旅图beta版 asp.net web api 单元测试

    旅图 beta版 asp.net web api 单元测试 测试接口:http://120.27.7.115:1010/Help 测试目的 对每个接口单元进行测试,保证每个接口的可靠性. 单元描述 注 ...

  6. 福大软工 · BETA 版冲刺前准备(团队)

    BETA 版冲刺前准备 队名:第三视角 作业链接 组长博客 应作业要求为了更加顺利地开展beta版本的冲刺,上次的alpha版本展示后,我们组对之前开发过程中存在的各种问题进行了全面的讨论,并对其进行 ...

  7. XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,苹果发布Xcode ...

  8. 《Bluez 》Beta版强势回归!!!

    Bluez .Beta 巅峰塔防 强势回归! Z.XML为您呈现 经过了第二轮迭代,我们骄傲的宣布,Bluez Beta版本,正式发布. 下载地址:-> 第二轮的迭代是辛苦的,但是不同于其他队伍 ...

  9. “来用”Beta版使用说明

    补发Beta版使用说明.Beta版与alpha版相比去掉了计算器,界面上没有太大变化. 1引言 1 .1编写目的 针对我们发布的Beta版本做出安装和使用说明,使参与内测的人员及用户了解软件的使用方法 ...

随机推荐

  1. windows 下 redis for php 配置

    下载 redis,下载地址 https://github.com/dmajkic/redis/downloads,下载下来 zip 文件,解压,根据系统选择解压的文件夹(比如我的是 64bit). 我 ...

  2. socket.io简单说明及在线抽奖demo

    socket.io简单说明及在线抽奖demo socket.io 简介 Socket.IO可以实现实时双向的基于事件的通信. 它适用于各种平台,浏览器或设备,也同样注重可靠性和速度. socket.i ...

  3. 服务链(Service Chaining,or Service Function Chaining,SFC,功能服务链)

    Software-configured  service  chaining  provides  the  capability  to  dynamically include best-of-b ...

  4. mysql创建触发器

    触发器语句只有一句话 可以省略begin和end CREATE trigger `do_praise` after insert on praise for each row update post ...

  5. linux 下配置 nodejs+ionic+cordova

    ionic是目前比较火的hybird框架学的人挺多所以资料会相对全一些. cordova是一个连接ionic和原生android 底层api的工具.(这样说好理解一些,不过可能不够准确.) 用他们的好 ...

  6. RabbitMQ 主题(Topic)

    我们进步改良了我们的日志系统.我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fanout那样,只能够无脑的转发. 虽然使用direct类型改良了我们的系统,但是仍然存在一 ...

  7. mysql 索引2

    /* 所有MySQL列类型可以被索引.根据存储引擎定义每个表的最大索引数和最大索引长度. 所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节.大多数存储引擎有更高的限制. 索引的存储类型 ...

  8. nginx启动、重启、关闭

    一.启动 cd usr/local/nginx/sbin ./nginx 二.重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/ngin ...

  9. 【BZOJ 3527】【ZJOI 2014】力

    代换一下变成多项式卷积,这里是的答案是两个卷积相减,FFT求一下两个卷积就可以啦 详细的题解:http://www.cnblogs.com/iwtwiioi/p/4126284.html #inclu ...

  10. c#学习<二>:数据类型

    基元类型 编译器直接支持的数据类型称为基元类型(primitive type).基元类型直接映射到Framework类库(FCL)中存在的类型(BCL是FCL的子集). C#中的基元类型 BCL类型 ...