Но есть области в которых я всё еще мучаюсь в сомнениях, не знаю как лучше.
Одна из них - автоматический тестинг.
Ясно что должно быть много автоматических тестов. По 1000 причин, не буду их перечислять.
Но какие должны быть эти тесты?
Допустим класс (сервис) А использует В, а В читает что то из файла.
По идее должен быть юнит тест для А, который вместо В использует его мокап, а для В тест с тестовым файлом.
На практике оказывается, что писать десятки мокапов и их поддерживать - гигантская задача. Вся цель автоматических регрешн тестов дать возможность менять программу не боясь что что то нарушишь нивелируется. Ну в самом деле - кто решится на редезайн если надо переделывать десятки тестов?
Другой подход - написать тест только для А , тес который использует настоящий, а не мокап В.
Тогда тестов меньше, намного меньше, их не надо менять - мы исходим из того, что интерфейс А меняется редко, проверятся и А и В. Ну а если что то не работает, то я уже дебагером определю где именно баг - в А или в В.
Но тут проблема, что для некоторых тестов мне опять таки надо знать содержимое файла из которого читает В. А это уже некрасиво (в реальной ситуации ведь цепочка длинная).
Т.е. оба подхода имеют серьезные минусы.
Что посоветуете?