Если вы нуждаетесь в для насмешки, то все это можно сделать путём вычеркнутой черты.Если издеваться не нужно, избегайте этого.Насмешка излишне ... ненужна.Вы просто напрасно потратите время и силы на то, что не имеет никакой дополнительной ценности.
Насмешка лучше всего использовать, когда у вас есть сложная функциональность или функциональность в других файлах, которые вы хотите рассматривать как черный ящик и просто предположим, что он работает как ожидалось (тогда вы обычно тестировали бы этот материал отдельно)Если вы можете избежать этого и использовать функциональность фактических функций, вы получите гораздо более реалистичное представление о том, что делает ваше приложение, и быстрее обнаружат новые ошибки / критические изменения (если вы отключили функциональность).и не забудьте обновить свои макеты, возможно, вы не обнаружите новых ошибок, которые вы вносите).
Хороший пример того, когда макет необходим, - это когда вы имитируете вызовы базы данных в приложении MVC (например, ScalaИграй микросервис).Очевидно, что вам не нужно запускать реальную базу данных при тестировании вашего кода, поэтому вы обычно макетируете слой коннектора и возвращаете фиктивные / поддельные данные из ваших функций коннектора.
Пример чего-то, что выне будет издеваться над чем-то вроде:
trait MyTrait {
def toInt(str: String): Int
}
val mockedTrait = mock[MyTrait]
when(mockedTrait.toInt(eq("3")).thenReturn(3)
Это немного глупый пример, но я думаю, что это ясно объясняет суть - делать что-то подобное было бы смешно.Насмешка не всегда ответ.