Идентификатор компонента калитки Передовая практика

Только начал играть, как все связывают свои идентификаторы компонентов?

До сих пор самая частая ошибка, с которой я сталкивался, — это несоответствие идентификаторов компонентов. Например,

В HTML

...
<span wicket:id="messageID">message will be here</span>
...

и на стороне Явы

...
add(new Label("messageID", "If you see this message wicket is properly configured and running"));
...

Я использую установку maven/IntelliJ, если это поможет. Спасибо!


person John    schedule 20.02.2010    source источник


Ответы (3)


каждая страница калитки, которая у меня есть, имеет хотя бы один тест

@Test
public void testPageRender() {
    WicketTester tester = new WicketTester();
    tester.startPage( MyPage.class );
    tester.assertNoErrors();
}
person walnutmon    schedule 02.03.2010

Поскольку вы используете IntelliJ, вы можете использовать плагин WicketForge, который выделяет идентификаторы, которые не отображаются в коде Java. Кроме того, я бы предложил протестировать компоненты, отсутствующие идентификаторы легко обнаружить в тестах.

person bert    schedule 20.02.2010

Хороший вопрос, и я буду следить за другими ответами.

Лучший совет, который я могу дать, — использовать тесты, чтобы обнаружить проблему на ранней стадии.

Напишите модульный тест с помощью WicketTester для каждого разрабатываемого вами компонента, по крайней мере, для проверки того, что ваш компонент отображается. Это позволит обнаруживать такие ошибки в тесте, а не в работающем приложении.

Вы можете и, конечно же, должны проверить, что ваш компонент содержит все нужные части, что навигация работает правильно и т. д. Но базовый тест рендеринга выявит несоответствие идентификаторов.

person Don Roby    schedule 20.02.2010