一起买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. WebConfig 详解

    一.Web.Config继承特性 首先我们就来看看配置文件的继承层次.都知道在ASP.NET中有很多的配置文件,如machine.config,web.config,特别是web.config出现在很 ...

  2. Python __init__.py 作用详解

    __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件. 通常__init__.py 文件为空,但是我们还可以为它增加 ...

  3. MVC+EF 理解和实现仓储模式和工作单元模式

    MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...

  4. 提高Visual Studio开发性能的几款插件

    通过打开Visual Studio,单机TOOLS—Extensions and Updates-Online-Visual Studio Gallery(工具-扩展和更新-联网-Visual Stu ...

  5. js自定义事件

    自定义事件的本质,创建一个对象,然后把事件的名字作为对象的一个属性,然后value是一个[],把此事件的所以回调都push进去. 写一个很基本的,没有把对象暴露出去的js的自定义事件. var eve ...

  6. Social Emotional Computing

    from:数理情感学 http://choudh.blogchina.com/2556171.html 第五节  情感的三要素 人对于某一事物的情感,不仅取决于该事物的品质特性(如物理特性.化学特性. ...

  7. [转]java 输出流转输入流

    ByteArrayOutputStream.toByteArray ByteArrayInputStream StringWriter.toString StringReader 字符流和二进制流是j ...

  8. c/c++模板的定义和实现分开的问题及其解决方案

    注意c/c++模板的定义和实现- -                                       定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C ...

  9. 用自己的话描述wcf中的传输安全与消息安全的区别(三)

    消息交换安全模式 PS:很多书上把transfer security和transport security都翻译成“传输安全”,这样易混淆.我这里把transfer说成消息交换安全. 安全的含义分为验 ...

  10. 《精通CSS网页布局》读书报告 ----2016-12-5补充

    第一章:CSS布局基础 1.CSS的精髓是布局,而不是样式哦!  (定要好好的研究布局哦,尤其配合html5) 2. html标签的语义性,要好好的看看哦! 3.DTD:文档类型定义. 4.内联--& ...