2012-11-02 26 views
0

我想測試我的Wicket TextField設置爲readonly。我已經建立了我的WicketTester,但只支持assertDisabled()這是無用的,在我的情況下失敗。如何測試Wicket TextFields爲只讀?

我已經試過tester.getComponentFromLastRenderedPage(compName).getString("readonly")tester.getComponentFromLastRenderedPage(compName).getMarkupAttributes().get("readonly")這對我來說聽起來很有前途,但未能實現。

+0

你是如何設置TextFields爲禁用的? – Nicktar

+0

textFieldInstance.add(新的AttributeModifier(READONLY,READONLY)) –

+0

我認爲這是用Selenium最好的測試。 – biziclop

回答

0

不幸的是,WicketTester不會很容易地非常直接地做到這一點,但...

由於AttributeModifier是一種行爲,可以撥打

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

和拉離了AttributeModifier實例列表(使用instanceofisAssignableFrom檢查)。然後經過一些反思以使事情可以訪問,您可以檢查是否有符合預期的AttributeModifier

0

這應該是可以解決的:

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

或非常類似的東西。我現在無法測試,所以我不能更具體。 欲瞭解更多詳情,請檢查JavaDocs的TagTester