[英]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
实例(使用instanceof
或isAssignableFrom
检查)。 然后经过一番反思以使事情变得可访问,您可以检查是否存在与您期望的AttributeModifier
匹配的对象。
这可以通过以下方法解决:
TagTester ttest = tester.getTagByWicketId(compName);
assertNotNull(ttest.getAttribute(READONLY));
或类似的东西。 我目前无法对此进行测试,因此我无法更加具体。 有关更多详细信息,请检查TagTester的JavaDocs。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.