Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WicketTester如何对AjaxFormComponentUpdateBehavior进行单元测试?_Java_Wicket - Fatal编程技术网

Java WicketTester如何对AjaxFormComponentUpdateBehavior进行单元测试?

Java WicketTester如何对AjaxFormComponentUpdateBehavior进行单元测试?,java,wicket,Java,Wicket,我正在尝试对AjaxFormComponentUpdateBehavior onUpdate事件进行单元测试。到目前为止,我有: AjaxFormComponentUpdatingBehavior updatingBehavior = (AjaxFormComponentUpdatingBehavior) WicketTesterHelper.findBehavior(tester.getComponentFromLastRenderedPage("test:fo

我正在尝试对AjaxFormComponentUpdateBehavior onUpdate事件进行单元测试。到目前为止,我有:

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 );
    }
}