А мог бы параметром передать “key” прям в функцию и не потребовалось бы ни интерфейсов ни моков.
Ну тогда его вызывающий код должен был бы получить из конфига, и его в свою очередь стало бы сложнее тестировать 🤔 ну или колличество параметров выросло
Это всё в закрытых репах, но там нечего показывать. Просто в создаёшь или в методе или в классе все зависимости подряд и передашь в конструкторы то что создал до этого
Тесты - это спецификация вашей бизнес логики. Потому что даже если потеряется код с бизнес-логикой, но останутся тесты, которые ее покрывают, то по ним можно будет все восстановить.