Я создал новый класс, который расширяет сторонний абстрактный класс. Новый класс вызывает методы абстрактного класса. Проблема, с которой я сталкиваюсь, заключается в том, что при попытке написать модульный тест я не уверен, как написать тест, поскольку я не знаю точных деталей, требуемых сторонним классом.
Представленный ниже AbstractDecoratorMapper — это специальный класс SiteMesh, который я должен расширить, чтобы SiteMesh работал правильно. Насколько я могу судить из документации, я не могу использовать композицию.
public final class PartnerDecoratorMapper extends AbstractDecoratorMapper {
@Override
public void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException {
super.init(config, properties, parent);
}
@Override
public Decorator getDecorator(HttpServletRequest request, Page page) {
if (super.getDecorator(request, page).getName().equalsIgnoreCase("default")) {
return getNamedDecorator(request, "externalPartnerDefault");
}
return super.getDecorator(request, page);
}
}
Я использую JMock, если этот инструмент может чем-то помочь.