0

I want to test that my Wicket TextField is set to readonly. I have set up my WicketTester but that just supports assertDisabled() which is useless and fails in my case.

I already tried tester.getComponentFromLastRenderedPage(compName).getString("readonly") and tester.getComponentFromLastRenderedPage(compName).getMarkupAttributes().get("readonly") which both sounded somewhat promising to me but failed to deliver.

4

2 回答 2

0

这应该可以通过以下方式解决:

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

或非常相似的东西。我现在无法测试这个,所以我不能更具体。有关更多详细信息,请查看TagTester的 JavaDocs

于 2012-11-02T14:35:20.087 回答
0

不幸的是,WicketTester这并不容易直接做到这一点,但是......

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

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

并从列表中拉出AttributeModifier实例(使用instanceofisAssignableFrom检查)。然后经过一些反思以使事情可以访问,您可以检查是否有一个符合您预期的AttributeModifier.

于 2012-11-02T11:12:37.407 回答