Щоб перевірити, чи достатньо для вас тестів, ви можете перевірити покриття коду та покриття вашої гілки, викликане тестами (можливо, за допомогою інструмента покриття, можливо вручну, переглянувши кодові шляхи або за допомогою відладчика).
Якщо ви прийшли до висновку, тести для підкласів дають вам достатньо високе покриття коду базових класів, то додавання подальших тестів очевидно не принесе вам великої користі. З іншого боку, якщо є кодові шляхи, які ви можете протестувати, лише додаючи конкретні тести, використовуючи безпосередньо базовий клас, тоді вам слід пройти цей маршрут.
Інша можлива причина "безпосередньо перевірити базовий клас" полягає в тому, що ви хочете перевірити певну функцію цього класу "ізольовано". Іноді може бути простіше розробити тестові випадки безпосередньо для конкретного методу, а не тестувати цей метод побічно, викликаючи методи своїх підкласів, які використовують цей метод.
Зауважте, що у вас є загальний базовий клас, для якого типовий сценарій використання є отримання підкласу, базовий клас, ймовірно, абстрактний. Тож для тестування такого класу все одно потрібно зробити виведення. У цій ситуації тестування "базового класу безпосередньо", звичайно, може означати додавання спеціальної деривації лише для цілей тестування.