实验七——Web应用测试(bookstore项目上完成)
1、 编写单元测试用例,对用户注册功能的Action层进行测试。(注意:测试用例应考虑成功和失败的情况)
先在原来的UserAction类加入判断代码当用户名或密码为空时则注册失败:
public String register() throws Exception{
if("" == user.getUsername()||""==user.getPassword()){
return "error";
}
else{
userService.saveUser(user);
return SUCCESS;
}
}
然后在UserAction类上创建一个测试类:
package org.easybooks.bookstore.action;
import org.easybooks.bookstore.service.IUserService;
import org.easybooks.bookstore.vo.User;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
* 用户注册(成功)
* Actor:王燕红
* */
public class UserActionTest {
@Test
public void testRegisterSuccess() throws Exception {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
User user=new User();
user.setUsername("WYH");
user.setPassword("123456");
user.setSex("女");
user.setAge(23);
UserAction userAction=new UserAction();
userAction.setUser(user);
userAction.setUserService((IUserService)factory.getBean( "userService" ));
String result=userAction.register();
System.out.println("结果:"+user.getUsername()+"注册"+result);
}
}
当用户和密码不为空时,则用户注册成功:
package org.easybooks.bookstore.action;
import org.easybooks.bookstore.service.IUserService;
import org.easybooks.bookstore.vo.User;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
* 用户注册(失败)
* 当密码或用户名为空时,则注册失败
* Actor:王燕红
* */
public class UserActionTest {
@Test
public void testRegisterSuccess() throws Exception {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
User user=new User();
user.setUsername("WYH");
user.setPassword("");
user.setSex("女");
user.setAge(23);
UserAction userAction=new UserAction();
userAction.setUser(user);
userAction.setUserService((IUserService)factory.getBean( "userService" ));
String result=userAction.register();
System.out.println("结果:"+user.getUsername()+"注册"+result);
}
}
2、 编写单元测试用例,对用户注册功能的DAO层进行测试。(注意:测试用例应考虑成功和失败的情况)
在TestUserDAO()中加入测试用例代码:
@Test
public void testUserReg(){
User user= new User();
user.setUsername("王燕红");
user.setSex("女");
user.setPassword("123456");
user.setAge(22);
try {
if(userDAO.exitUser(user.getUsername())){
System.out.println("注册失败,"+user.getUsername()+"用户名已经存在,请重新注册!!");
}else{
userDAO.saveUser(user);
System.out.println("注册用户:"+user.getUsername()+"成功");
}
} catch (Exception e) {
System.out.println("注册失败");
}
}
若在重新运行一次则出现注册失败,提示重新注册!
转载于:https://www.cnblogs.com/cheerwyh/p/5577694.html
实验七——Web应用测试(bookstore项目上完成)相关推荐
- 电商项目实战之web网站测试--非业务
Web实战测试 一:网络基础知识:http 3,,Web浏览器发送请求头信息一(1) 1,建立TCP连接 -----(https://www.cnblogs.com/EricaMIN1987_IT/p ...
- web前端移动端项目测试的几种方法
web前端移动端项目测试的几种方法 本人只是个做前端刚刚半年的小白 技术还不熟练 见识也不够广 希望大家不喜勿喷 如果有不对的地方欢迎大家指出 我更加会努力的学习 提高自己的水平! 本人只是 ...
- 实验七 团队作业3:团队项目原型设计与开发
实验七 团队作业3:团队项目原型设计与开发 实验时间 2019-4-24(25) Deadline: 2018-5-8 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – 根 ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程-第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- angular2+typescript在asp.net MVC Web项目上的实现
网上现在还没有关于angular2+typescript在asp.net mvc web项目上的实现的系统介绍,这里我也只是探索到了一个简单的方式,还有很多问题没能解决.但是能有个好的开头也值得记录一 ...
- Eclipse里面web项目上面的小地球消失的原因
一般java的web目录在eclipse里面的显示主要的目录.settings,src和WebContent , .classpath , .project 如果项目上面小地球消失,先查看目录格式是 ...
- python123实验七答案_2020年智慧树嵌入式系统与实验第七单元章节测试答案
2020年智慧树嵌入式系统与实验第七单元章节测试答案 更多相关问题 [多选题]含挥发油丰富,易散失气味的中药饮片有() A. 荆芥 B. 薄荷 C. 当归 D. 白芷 E. 肉桂 [单选题]求大同存小 ...
- web端测试经验(项目实战经验)
软件测试相信大家已经有一定的了解了,无非就是找bug 找缺陷 找问题 找这个程序(前端.后端)的不足点 以及不人性化的地方 ,由我们监测并提出有效的建议给项目进行缺陷修复以及优化点.软件测试大体分为W ...
- web前端开发七武器—Jasmine入门教程(上)
武器档案 名称:Jasmine 用途:javascript单元测试框架 下载:http://pivotal.github.com/jasmine/downloads/jasmine-standalon ...
- asp.net core系列 67 Web压力测试工具WCAT
asp.net core系列 67 Web压力测试工具WCAT 原文:asp.net core系列 67 Web压力测试工具WCAT 一.介绍 最近搭建了一套CQRS框架,需要在投入开发前,进行必要的 ...
最新文章
- 01_Difference between case object and object
- ActivityGroup是如何对嵌入的Activitys进行管理的
- 滴滴自研分布式 NoSQL 数据库 Fusion 的演进之路
- 2008 mysql 本地安全_如何在Linux系统中建立mysql的本地安全机制?
- 带弹出列表的EditText
- Jenkins 安装FAQ
- void muse.each(object, function)
- android中的actionbar,android中开启actionbar的两种方法
- AXURE RP 原型图绘制手册
- 【python】filetype根据内容推测文件类型
- java 鸭子类_Python:多态、协议和鸭子类型
- const int *,const int * const和int const *之间的区别
- 我有一个梦想计算机工程师作文,高一作文我有一个梦想范文5篇
- 使用vs2019创建win32动态链接库
- windows - 网络流量监控工具
- 【FLV】GO源码:解析http flv输出 GOP 和 对应关键帧TAG信息
- 无任何网络提供程序接受指定的网络路径 解决办法
- 1.1 海思3518 H264编码
- jsp页面判断已是默认收货地址不再显示设为默认
- [经验] 新版SkyIAR、Easy Image X在有些PE里不能运行的解决办法
热门文章
- JSP教程第3讲笔记
- php图片异步上传,怎么在php中使用JavaScript实现图片异步上传功能
- 【C/C++】C++基本语法
- Xshell配合Screen之ssh会话永不断开
- linux基础(一)——切换到root用户和普通用户
- php 5.6.27 在某些机器上正常,thinkphp5开发的网站出现”No input file specified”(php版本5.6.27)...
- python的程序变量名_python中变量的名称和程序效率
- python中文相似度_python比较两个文本的相似性
- android圆盘布局,Android绘制圆盘控件
- mysql 连接 互联网_互联网技术分享社区 MySQL字符串连接函数