Зачем вам использовать stub
, учитывая, что вы должны тестировать реальные классы в любом случае?Rspec stub зачем использовать вообще
Я знаю, что есть случаи, когда вы не хотите тестировать другие классы и не перебирать другие связанные методы класса, но я все же считаю, что лучше использовать реальные методы.
Я могу только действительно видеть выгоду, когда вы хотите, чтобы быстро пропустить другие связанные с ним задачи один метод и возвращает конечный результат будет использоваться в тестах
Есть и другие преимущества, однако, что мы должны рассматривать?
(В дополнение к вышесказанному, я также думаю, что stub
рискованно как хорошо, так как ваш код может меняться по мере его развития и может генерировать различный результат того, что она приносит в тестах)
узким местом при помощи заглушек так просто, как гася неправильные вещи. Они потрясающе помогают избежать попадания в базу данных или не прикасаются к связанным данным, которые не могут быть сгенерированы. Если вы тестируете устройство, заглушки, как правило, являются отличным инструментом. Модульные тесты должны быть простыми, им не нужно проверять все связанные данные или процесс применения этих данных. Устранение правильной вещи - это то, что люди обычно ошибаются. –
В серьезном крупном корпоративном приложении, где любые небольшие изменения чрезвычайно чувствительны, не лучше ли было бы избежать «заглушки» и, скорее, протестировать взаимодействие с базой данных? (с тестовой базой данных и данными теста) –