浏览 4337 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-04-11
public class LoginTest extends TestCase { public void testLogin(); { DynaActionForm form = new DynaActionForm();; form.set("user", "admin");; //实际运行的时候抛NullPointerException form.set("pass", "123");; boolean flag = (new Manager(););.login(form);;//business layer } } 结果出现 java.lang.NullPointerException at org.apache.struts.action.DynaActionForm.getDynaProperty(DynaActionForm.java:596); at org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:412); 请问我如何才能在TestCase中构造DynaActionForm 对象呢?万分谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-04-11
刚才想了想,觉得不应该把表现层的对象放到business layer中处理,而是在aciton中就直接想form的数据导入到BusinessObject中就可以避免在TestCase中出现这个问题了。
|
|
返回顶楼 | |
发表时间:2005-04-14
web框架下的测试不能直接在TestCase中调用吧,因为DynaActionForm需要struts框架的支持,必须在内存中载入struts,然后才能使用那些依赖框架的方法。不过可是试试Mock测试工具
|
|
返回顶楼 | |
发表时间:2005-04-14
cbcivp 写道 今天我写TestCase的时候出现了这样的问题:
public class LoginTest extends TestCase { public void testLogin(); { DynaActionForm form = new DynaActionForm();; form.set("user", "admin");; //实际运行的时候抛NullPointerException form.set("pass", "123");; boolean flag = (new Manager(););.login(form);;//business layer } } 结果出现 java.lang.NullPointerException at org.apache.struts.action.DynaActionForm.getDynaProperty(DynaActionForm.java:596); at org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:412); 请问我如何才能在TestCase中构造DynaActionForm 对象呢?万分谢谢! 因為 DynaActionFrom 是 extends DynaBean, 必須設定 DynaProperty, 所以我建議你乾脆使用 org.apache.commons.beanutils.WrapDynaBean 比較簡單 LoginVO loginVO = new LoginVO("admin","123"); // POJO javaBeans DynaBean form = new WrapDynaBean(loginVO); 傳入 form , it should be ok |
|
返回顶楼 | |
发表时间:2005-04-21
你可以使用strustTest和http Unit这样的测试框架对strust进行测试
|
|
返回顶楼 | |