サードパーティの抽象クラスを拡張する新しいクラスを作成しました。新しいクラスは、抽象クラスのメソッドを呼び出します。私が抱えている問題は、単体テストを作成しようとするときです。サードパーティのクラスが必要とする正確な詳細がわからないため、テストの作成方法がわかりません。
以下の 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 を使用します。