Прочитав интересную статью о тестировании модульного тестирования вместо состояния, я понял, что мои модульные тесты часто тесно связаны с моим кодом, потому что я использую mocks. Я не могу писать текстовые тесты без издевок, но факт состоит в том, что эти mocks связывают мой unit test с моим кодом из-за ожидаемых вызовов и возврата.
Например, когда я создаю тест, который использует макет, я записываю все вызовы на конкретный макет и присваиваю возвращаемые значения. Теперь, когда я изменяю реализацию фактического кода по какой-либо причине, многие тесты ломаются, потому что этот вызов не ожидался от макета, заставляя меня также обновлять unit test и эффективно заставляя меня выполнять каждое изменение дважды., Это происходит очень часто.
Является ли эта проблема неотъемлемой частью использования mocks, и я должен научиться жить с ней, или я делаю что-то принципиально неправильное? Пожалуйста, просветите меня:) Разумные примеры, пришедшие с объяснением, приветствуются, конечно же.