Java WicketTester如何对AjaxFormComponentUpdateBehavior进行单元测试?
我正在尝试对AjaxFormComponentUpdateBehavior onUpdate事件进行单元测试。到目前为止,我有:Java WicketTester如何对AjaxFormComponentUpdateBehavior进行单元测试?,java,wicket,Java,Wicket,我正在尝试对AjaxFormComponentUpdateBehavior onUpdate事件进行单元测试。到目前为止,我有: AjaxFormComponentUpdatingBehavior updatingBehavior = (AjaxFormComponentUpdatingBehavior) WicketTesterHelper.findBehavior(tester.getComponentFromLastRenderedPage("test:fo
AjaxFormComponentUpdatingBehavior updatingBehavior = (AjaxFormComponentUpdatingBehavior)
WicketTesterHelper.findBehavior(tester.getComponentFromLastRenderedPage("test:form:upc"), AjaxFormComponentUpdatingBehavior.class);
tester.executeBehavior(updatingBehavior);
但是,这不会执行我已重写的“onUpdate”。最终,在该行为中,我在页面上启用了一个组件,并且我想声明该组件在该行为执行后已启用。如何确保在单元测试中触发“onUpdate”?奇怪。我做了一些类似的事情,这就像它应该做的一样。我可以调试它并获得一个覆盖的
onUpdate
。我不知道WicketTesterHelper,但它看起来也很有用:)
这有用吗?使用WicketTester测试Ajax非常困难(至少在Wicket1.5之前,我不知道更高版本)。在大多数情况下,测试行为内部的例程更容易(也足够了),将wicket功能的测试留给wicket开发人员,甚至重写我的代码以使用WicketTesterHelper。顺便说一句,我用的是wicket 6.10
for ( Behavior b : component.getBehaviors() )
{
if ( b instanceof AjaxFormComponentUpdatingBehavior )
{
this.getWicketTester().executeBehavior( (AbstractAjaxBehavior) b );
}
}