Юнит-тестирование полосок аннотаций валидации напрямую - PullRequest
0 голосов
/ 16 декабря 2009

Полосы позволяют вам проверять входные значения формы, используя аннотацию @Validate для ваших переменных-членов. У кого-нибудь есть опыт тестирования этих аннотаций напрямую. Я мог бы сделать это, протестировав ошибки проверки, которые возвращаются из ActionBean, но это кажется немного сложным, и я хотел бы более прямой метод тестирования, если входное значение является допустимым.

Я еще не очень знаком с внутренностями Framework, и я надеялся, что кто-нибудь может дать мне какое-то указание, с чего начать. ТИА.

1 Ответ

2 голосов
/ 21 декабря 2009

Один метод, который я использовал, это встроенный в Stripes MockRoundtrip . Это полезно для имитации полного теста события компонента действия вне контейнера.

Пример из документации:

 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() и утверждать, что ваша ошибка там.

...