Я занимаюсь TDD уже год, мне это очень нравится, я люблю свои тестовые наборы и все такое. Тем не менее, я заметил, что в последнее время я провожу много проверок. Например, у меня будет служба, в которую будет добавлен репозиторий - в моем модульном тесте я пройду макет репозитория и проверим, что он был вызван в тестируемом методе. Затем я проверил бы, верны ли результаты (в другом тесте). Это определенно "чувствует" неправильно, так как мои модульные тесты теперь очень связаны с деталями реализации. Я слышал, что вы должны проверить «поведение», однако во многих ситуациях это ... ммм - невозможно? Если у тебя естьvoid
Метод, например, вы обычно тестируете побочные эффекты. Я имею в виду, что легко пойти дальше и показать несколько простых код-ката, где это можно продемонстрировать, но ИМХО это не очень хорошо отражается на реальных программах, которые мы пишем. Что я делаю не так? Является ли этот тип тестирования анти-паттерном? Буду признателен за ваше мнение по этому поводу, я все еще немного новичок, когда дело доходит до TDD.