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项目上完成)相关推荐

  1. 电商项目实战之web网站测试--非业务

    Web实战测试 一:网络基础知识:http 3,,Web浏览器发送请求头信息一(1) 1,建立TCP连接 -----(https://www.cnblogs.com/EricaMIN1987_IT/p ...

  2. web前端移动端项目测试的几种方法

    web前端移动端项目测试的几种方法 本人只是个做前端刚刚半年的小白 技术还不熟练  见识也不够广   希望大家不喜勿喷 如果有不对的地方欢迎大家指出  我更加会努力的学习  提高自己的水平! 本人只是 ...

  3. 实验七 团队作业3:团队项目原型设计与开发

    实验七 团队作业3:团队项目原型设计与开发 实验时间 2019-4-24(25) Deadline: 2018-5-8 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – 根 ...

  4. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程-第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  5. angular2+typescript在asp.net MVC Web项目上的实现

    网上现在还没有关于angular2+typescript在asp.net mvc web项目上的实现的系统介绍,这里我也只是探索到了一个简单的方式,还有很多问题没能解决.但是能有个好的开头也值得记录一 ...

  6. Eclipse里面web项目上面的小地球消失的原因

    一般java的web目录在eclipse里面的显示主要的目录.settings,src和WebContent , .classpath ,  .project 如果项目上面小地球消失,先查看目录格式是 ...

  7. python123实验七答案_2020年智慧树嵌入式系统与实验第七单元章节测试答案

    2020年智慧树嵌入式系统与实验第七单元章节测试答案 更多相关问题 [多选题]含挥发油丰富,易散失气味的中药饮片有() A. 荆芥 B. 薄荷 C. 当归 D. 白芷 E. 肉桂 [单选题]求大同存小 ...

  8. web端测试经验(项目实战经验)

    软件测试相信大家已经有一定的了解了,无非就是找bug 找缺陷 找问题 找这个程序(前端.后端)的不足点 以及不人性化的地方 ,由我们监测并提出有效的建议给项目进行缺陷修复以及优化点.软件测试大体分为W ...

  9. web前端开发七武器—Jasmine入门教程(上)

    武器档案 名称:Jasmine 用途:javascript单元测试框架 下载:http://pivotal.github.com/jasmine/downloads/jasmine-standalon ...

  10. asp.net core系列 67 Web压力测试工具WCAT

    asp.net core系列 67 Web压力测试工具WCAT 原文:asp.net core系列 67 Web压力测试工具WCAT 一.介绍 最近搭建了一套CQRS框架,需要在投入开发前,进行必要的 ...

最新文章

  1. 01_Difference between case object and object
  2. ActivityGroup是如何对嵌入的Activitys进行管理的
  3. 滴滴自研分布式 NoSQL 数据库 Fusion 的演进之路
  4. 2008 mysql 本地安全_如何在Linux系统中建立mysql的本地安全机制?
  5. 带弹出列表的EditText
  6. Jenkins 安装FAQ
  7. void muse.each(object, function)
  8. android中的actionbar,android中开启actionbar的两种方法
  9. AXURE RP 原型图绘制手册
  10. 【python】filetype根据内容推测文件类型
  11. java 鸭子类_Python:多态、协议和鸭子类型
  12. const int *,const int * const和int const *之间的区别
  13. 我有一个梦想计算机工程师作文,高一作文我有一个梦想范文5篇
  14. 使用vs2019创建win32动态链接库
  15. windows - 网络流量监控工具
  16. 【FLV】GO源码:解析http flv输出 GOP 和 对应关键帧TAG信息
  17. 无任何网络提供程序接受指定的网络路径 解决办法
  18. 1.1 海思3518 H264编码
  19. jsp页面判断已是默认收货地址不再显示设为默认
  20. [经验] 新版SkyIAR、Easy Image X在有些PE里不能运行的解决办法

热门文章

  1. JSP教程第3讲笔记
  2. php图片异步上传,怎么在php中使用JavaScript实现图片异步上传功能
  3. 【C/C++】C++基本语法
  4. Xshell配合Screen之ssh会话永不断开
  5. linux基础(一)——切换到root用户和普通用户
  6. php 5.6.27 在某些机器上正常,thinkphp5开发的网站出现”No input file specified”(php版本5.6.27)...
  7. python的程序变量名_python中变量的名称和程序效率
  8. python中文相似度_python比较两个文本的相似性
  9. android圆盘布局,Android绘制圆盘控件
  10. mysql 连接 互联网_互联网技术分享社区 MySQL字符串连接函数