以下题目均在bookstore项目上完成(请先运行数据库文件): 1编写单元测试用例,对用户注册功能的Action层进行测试。(注意:测试用例应考虑成功和失败的情况)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以下题目均在bookstore项目上完成(请先运行数据库文件): 1编写单元测试用例,对用户注册功能的Action层进行测试。(注意:测试用例应考虑成功和失败的情况)相关的知识,希望对你有一定的参考价值。

首先,我想说明一下,用户注册时候action中的方法不做任何判断都可以注册,什么都没有考虑,即使全部为空,他都能注册成功。如果还要写测试用例的话,按照我的步骤,在

UserAction中的register()方法中加入一些判断,并在jsp页面中给出相应的提示,由于漏洞实在太多了,我就只写了一个判断——如果用户名为一个空格的时候,注册失败。还有很多测试用例,还有很多漏洞可以测试,我举一个例子:

 

第一步,在action代码中,将register()方法中加入一个判断:

//用户注册,调用service层的saveUser()方法

   //如果注册的时候username为一个空格的时候,返回error

   public String register() throws Exception{

      if(" " == user.getUsername()){

        return "error";

      }else{

        userService.saveUser(user);

        return SUCCESS;

      }

   }

第二步:在测试类中新建一个测试类:我取名字为TestRegisterAction。

我先写了一个注册成功的方法,并设计了一个成功测试用例,如下:

@Test

   public void testRegisterSuccess() throws Exception {

      //BeanFactory factory = new FileSystemXmlApplicationContext("file:C:/Documents and Settings/Administrator/Workspaces/MyEclipse 10/bookstore/src/applicationContext.xml");

      BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");

     

      User user=new User();

      user.setUsername("罗文恺");

      user.setPassword("123");

      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);

   }

Myeclipse控制台结果如下:

数据库中的结果如下:

之后我写了一个注册失败的方法,写了一个用户名为一个空格的测试用例:

myeclipse结果如下:

数据中并没有多一个用户名叫空格的用户,注意我所说的空格是真实的空格,结果如下:

 

以上是关于以下题目均在bookstore项目上完成(请先运行数据库文件): 1编写单元测试用例,对用户注册功能的Action层进行测试。(注意:测试用例应考虑成功和失败的情况)的主要内容,如果未能解决你的问题,请参考以下文章

abp示例项目BookStore搭建部署

laravel 6.* 引入bootstrap报错问题解决方案

类路径为空。请先建项目

项目经验Docker安装

Django-1 项目创建

Django-1 项目创建