Mam sobie bardzo OOP kod. Mam też około 15 adapterów, które biorą klasy jakichś libek i nadają im interfejsy javowe. I teraz ich jedyna odpowiedzialność to jest przyjąć parametry i wywołać metodę delegata zwracając wynik - zwykły adapter.
Tylko testowanie takich adapterów jest dosyć mozolne, przez 25 minut napisałem test tylko do jednego. Chodzi o to że nie wystarczy wsadzić stringa 'Foo'
i wyciągnąć 'Bar'
(tzn, tak by było gdyby parameterm/return-type'm tej metody był String
) tylko trzeba tworzyć mocki parameterów wejściowych, i wkładać fabtyki żeby się upewnić czy wychodzi dobra instancja.
No właśnie, niby nie zaszkodzi - ale kto by wszedł do adaptera i usunął albo podmienił kod - w klasie w której nie ma logiki?
No i nie wiem - testować te adaptery czy nie?
Logika wygląda mniej więcej tak
class LibSupplierAdapter<T> implements java.util.Supplier<T> {
private final org.lib.Supplier<T> supplier;
public T get() {
return supplier.get(); // No kto tu przyjdzie i to zmieni?
}
}