Вопрос о mockist или classic tdd очень сильно связан с тем, какую часть вашего приложения вы тестируете. Если у вас есть «стандартная» многоуровневая архитектура (например, DDD ), уровень домена обычно подходит для классического tdd, где вы проводите модульное тестирование, настраивая тестируемый объект, вызывая несколько методов и проверяя результат. и / или государство.
С другой стороны, когда вы тестируете сервисы приложений, контроллеры или логику представления
которые все делают больше координирующей работы, насмешки или окурки часто необходимы, чтобы получить хорошие тесты. Мой опыт также показывает, что эти классы имеют тенденцию вызывать другие слои (webservice, datalayer, ...), которые вы действительно хотите высмеять или заглушить. Эти модульные тесты также нуждаются в большем количестве установочного кода, поэтому вы должны только издеваться, когда вам нужно.
Мой совет: всегда будь классическим и издевайся, когда нужно.