Я делал так, использовать идентификатор доступа protected вместо private, и большинство методов виртуальными. Потом создавал дочерний класс, и где надо реализовывал доп методы или методы которые переопределяли родительские, в которых выполнялись доп действия и вызывался родительский метод. И уже через этот дочерний класс, проводил тестирование.