首先,我想说明一下,用户注册时候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结果如下:
数据中并没有多一个用户名叫空格的用户,注意我所说的空格是真实的空格,结果如下: