繁体   English   中英

您如何测试Wicket TextFields为只读?

[英]How do you test Wicket TextFields for read-only?

我想测试将我的Wicket TextField设置为readonly 我已经设置了WicketTester但是仅支持assertDisabled() ,它是无用的,在我的情况下会失败。

我已经尝试过tester.getComponentFromLastRenderedPage(compName).getString("readonly")tester.getComponentFromLastRenderedPage(compName).getMarkupAttributes().get("readonly") ,这听起来对我来说有些许希望,但未能交付。

不幸的是, WicketTester并不容易直接实现,但是...

由于AttributeModifier是一种行为,因此您可以调用

Component component = tester.getComponentFromLastRenderedPage("path");
List<IBehavior> behaviors = component.getBehaviors();

并从列表中拉出AttributeModifier实例(使用instanceofisAssignableFrom检查)。 然后经过一番反思以使事情变得可访问,您可以检查是否存在与您期望的AttributeModifier匹配的对象。

这可以通过以下方法解决:

TagTester ttest = tester.getTagByWicketId(compName);
assertNotNull(ttest.getAttribute(READONLY));

或类似的东西。 我目前无法对此进行测试,因此我无法更加具体。 有关更多详细信息,请检查TagTester的JavaDocs。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM