Я предпочитаю проверить это в тесте.
поэтому каждый тест для перезаписи страницы без сохранения состояния
getStatelessWebPage()
, который по умолчанию возвращает ноль.
затем в базовом тесте у меня есть общий тест, который посещает все компоненты на странице и проверяет, является ли компонент без сохранения состояния или нет
@Test
public void checkForStateless()
{
StatelessWebPage statelessPage = getStatelessWebPage();
if (statelessPage != null)
{
Page page = (Page)statelessPage;
if (!page.isPageStateless())
{
//find the reason
Component statefulComponent = page.visitChildren(Component.class, new StatelessChecker());
if (statefulComponent != null)
{
fail("Stateless page contains stateful component ["
+statefulComponent.getClass().getName()+" : "
+ statefulComponent.getMarkupId() +"]");
}
}
}
}
и
class StatelessChecker implements IVisitor<Component, Component>
{
@Override
public void component(Component component, IVisit<Component> iVisit)
{
if (!component.isStateless())
{
iVisit.stop(component);
}
}
}