Как выполнить модульное тестирование пользовательского компонента 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), который создаст для вас страницу, чтобы вы могли протестировать любой вид компонента.

Другие вопросы по тегам