Почему использование Composition более рекомендуется для подхода Unit testing?
Unit testing
Это связано с тем, что, расширяя класс, вы должны также протестировать весь API родительского класса, а с помощью Composition вы получите больший контроль над методами, которые вы хотите использовать из родительского класса?
Как правило, я бы сказал, что в смысле «Композиция против наследования» - Композиция всегда лучший, более приемлемый выбор.
Единственное исключение, о котором я могу думать, - это модели баз данных на языках, которые не поддерживают аннотации.