单元测试条纹验证注释直接

时间:2009-12-16 19:20:47

标签: java unit-testing annotations stripes

Stripes允许您使用成员变量上的@Validate注释验证表单输入值。有没有人有任何直接测试这些注释的经验。我可以通过测试从ActionBean返回的验证错误来做到这一点,但这看起来有点长,我想要一个更直接的方法来测试输入值是否有效。

我对框架的内部结构并不熟悉,我希望有人能给我一些指导,从哪里开始。 TIA。

1 个答案:

答案 0 :(得分:2)

我使用的一种方法是Stripes'内置MockRoundtrip。它对于模拟容器外部的操作bean事件的完整测试很有用。

文档中的示例:

 MockServletContext context = ...;
 MockRoundtrip trip = new MockRoundtrip(context, CalculatorActionBean.class);
 trip.setParameter("numberOne", "2");
 trip.setParameter("numberTwo", "2");
 trip.execute();
 CalculatorActionBean bean = trip.getActionBean(CalculatorActionBean.class);
 Assert.assertEquals(bean.getResult(), 4, "two plus two should equal four");
 Assert.assertEquals(trip.getDestination(), ""/quickstart/index.jsp");

此外,您可以使用trip.getValidationErrors()并声明您的错误在那里。