|
现在我们用structs+hibernate框架开发信息系统,其中有很多action需要测试,但是这些action的输入输出往往都是对象,而且涉及后续的数据库操作,作单元测试的时候比较没有头绪。
以下面一个action的“保存”方法为例:
public ActionForward saveAddressbook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
AddressBookForm addressBookForm = (AddressBookForm) form;
Session session=HibernateUtil.currentSession();
Transaction tx=session.beginTransaction();
......
中间是一堆设置addressBook数据对象属性值的过程
......
session.save(addressBook);
tx.commit();
HibernateUtil.closeSession();
ActionForward fd = mapping.findForward("success");
return fd;
}
这个方法从form里获取对应的地址簿信息,将他们放入数据对象addressBook中,再调用hibernate的方法保存进数据库。
所有的属性值暂时都考虑为String类型,但是对于地址、email、电话等信息应有验证,暂时不考虑保存失败和保存异常出现的情况,该怎么样为它设计用例呢?
另外一方面,如果要用JUNIT进行集成测试,对应的测试用例又该怎么考虑呢?主要是这个程序块的用例的输入和数据怎么构建,怎么验证?还望各位指点。谢谢。 |
|