Я знаю, что вы упомянули, что это будет пример ситуации, которую вы не можете изменить, но я буду бороться за реорганизацию класса так, чтобы ConcreteService мог быть внедрен как зависимость.Рефакторинг - это гораздо более простой подход к решению проблемы плохого дизайна.Из того, что вы написали, я не вижу причин, по которым вы не смогли бы сделать это.
РЕДАКТИРОВАТЬ: FWIW, я согласен с @Gishu.Если вы абсолютно не можете изменить класс, например, у вас его нет и у вас нет возможности его изменить, тогда интеграционные тесты - лучший способ сделать это.Однако, если вы видите код и то, что он делает, я придерживаюсь того, что я сказал ранее в том, что на самом деле нет причин, по которым вы не должны проводить рефакторинг.