есть проблема, с которой я борюсь и не могу найти ничего полезного в Интернете. У меня есть форма с wicketID «addressform», которая является панелью внутри основного шаблона. Я пытаюсь проверить это следующим образом:Apache Wicket FormTester не работает должным образом
public void testLinkToAddressFormValid(){
PageParameters params = new PageParameters();
params.add("entity", "address");
params.add("viewMode", "2");
params.add("subMode", "0");
params.add("key", "1");
// start Main Page with given parameters
tester.startPage(Main.class, params);
// try to test a new form
FormTester formTester = tester.newFormTester("addressform",false);
formTester.submit();
}
Обычно я называю форму адреса с помощью
setResponsePage(new Main("address",2,0,1));
, который заменяет содержание основного шаблона с AddressForm (класс называется AddressForm whcih расширяет панель). Параметр AddressForm принимает некоторые параметры.
В конце я получаю исключение «junit.framework.AssertionFailedError: путь:« addressform »не существует для страницы: Главная». На данный момент я использую Apache Wicket 6.0
Эй, мартин, спасибо за подсказку. Конечно, есть механизм аутентификации, но перед запуском тестовых примеров существует метод, который выполняет аутентификацию. Странная вещь здесь заключается в том, что она показывает мне, что адресная форма не будет существовать для главной страницы, но Main - это мой шаблон и адресная панель, которая отображается внутри шаблона. Может быть, нам нужно сделать еще один путь для вызова newFormTester()? Может быть, что-то вроде панели: addressform? – Moe
Используйте tester.debugComponentTrees(), чтобы увидеть структуру компонентов. –