Как выполнить модульное тестирование пользовательского компонента Wicket
Учитывая этот действительно простой компонент Wicket:
public class ProductImage extends WebComponent {
public ProductImage(String id, Product p) {
super(id, new Model(p));
add(new AttributeModifier("src", true, new Model(p.getImage())));
}
}
Как выполнить модульное тестирование с помощью WicketTester? Нужна ли мне страница?
2 ответа
Решение
На самом деле я этого не делал (я только тестировал панели), но startComponent()
кажется, способ сделать это.
Что-то вроде этого:
Product product = new Product(/* initialize product here */);
ProductImage pi = new ProductImage("image", product);
tester.startComponent(pi);
tester.assertContains(Pattern.quote(product.getImage()));
В Wicket 1.5 есть #startComponentInPage(Component), который создаст для вас страницу, чтобы вы могли протестировать любой вид компонента.