一起买beta版模块单元测试
一起买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版模块单元测试的更多相关文章
- 一起买beta版PHP单元测试
一起买beta版PHP单元测试 测试目的 保证代码质量,对各个单元进行测试,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误. 单元描述 完成帖子接口 将"正在进行&q ...
- 一起买beta版本文档报告汇总
一起买beta版本文档报告汇总 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 一.Beta版本冲 ...
- 一起买beta版UI测试
一起买beta版UI测试 测试目的 保证代码质量,对各个单元进行测试,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误. UI测试 登录模块测试 登录模拟过程. 发帖模块测试 ...
- 一起买Beta版本系列文档
一起买beta版本文档报告汇总 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 一.Beta版本冲 ...
- 旅图beta版 asp.net web api 单元测试
旅图 beta版 asp.net web api 单元测试 测试接口:http://120.27.7.115:1010/Help 测试目的 对每个接口单元进行测试,保证每个接口的可靠性. 单元描述 注 ...
- 福大软工 · BETA 版冲刺前准备(团队)
BETA 版冲刺前准备 队名:第三视角 作业链接 组长博客 应作业要求为了更加顺利地开展beta版本的冲刺,上次的alpha版本展示后,我们组对之前开发过程中存在的各种问题进行了全面的讨论,并对其进行 ...
- XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,苹果发布Xcode ...
- 《Bluez 》Beta版强势回归!!!
Bluez .Beta 巅峰塔防 强势回归! Z.XML为您呈现 经过了第二轮迭代,我们骄傲的宣布,Bluez Beta版本,正式发布. 下载地址:-> 第二轮的迭代是辛苦的,但是不同于其他队伍 ...
- “来用”Beta版使用说明
补发Beta版使用说明.Beta版与alpha版相比去掉了计算器,界面上没有太大变化. 1引言 1 .1编写目的 针对我们发布的Beta版本做出安装和使用说明,使参与内测的人员及用户了解软件的使用方法 ...
随机推荐
- WebConfig 详解
一.Web.Config继承特性 首先我们就来看看配置文件的继承层次.都知道在ASP.NET中有很多的配置文件,如machine.config,web.config,特别是web.config出现在很 ...
- Python __init__.py 作用详解
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件. 通常__init__.py 文件为空,但是我们还可以为它增加 ...
- MVC+EF 理解和实现仓储模式和工作单元模式
MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...
- 提高Visual Studio开发性能的几款插件
通过打开Visual Studio,单机TOOLS—Extensions and Updates-Online-Visual Studio Gallery(工具-扩展和更新-联网-Visual Stu ...
- js自定义事件
自定义事件的本质,创建一个对象,然后把事件的名字作为对象的一个属性,然后value是一个[],把此事件的所以回调都push进去. 写一个很基本的,没有把对象暴露出去的js的自定义事件. var eve ...
- Social Emotional Computing
from:数理情感学 http://choudh.blogchina.com/2556171.html 第五节 情感的三要素 人对于某一事物的情感,不仅取决于该事物的品质特性(如物理特性.化学特性. ...
- [转]java 输出流转输入流
ByteArrayOutputStream.toByteArray ByteArrayInputStream StringWriter.toString StringReader 字符流和二进制流是j ...
- c/c++模板的定义和实现分开的问题及其解决方案
注意c/c++模板的定义和实现- - 定义一个类一般都是在头文件中进行类声明,在cpp文件中实现,但使用模板时应注意目前的C ...
- 用自己的话描述wcf中的传输安全与消息安全的区别(三)
消息交换安全模式 PS:很多书上把transfer security和transport security都翻译成“传输安全”,这样易混淆.我这里把transfer说成消息交换安全. 安全的含义分为验 ...
- 《精通CSS网页布局》读书报告 ----2016-12-5补充
第一章:CSS布局基础 1.CSS的精髓是布局,而不是样式哦! (定要好好的研究布局哦,尤其配合html5) 2. html标签的语义性,要好好的看看哦! 3.DTD:文档类型定义. 4.内联--& ...