Неправильный подход.Вы не издеваетесь над картами.Конец истории.
Значение: любая коллекция - это просто коллекция объектов.Всякий раз, когда вы думаете о насмешке над контейнером , вы, скорее всего, делаете что-то не так.Вы действительно используете его только тогда, когда нет лучшего способа проверить свои вещи.
Помимо этого: вы должны действительно понимать, что делают ваши тесты.Поэтому вместо when(x.get(any())).thenReturn(y)
вы должны предпочесть просто иметь отдельную карту, которая содержит в точности те значения, которые необходимы для вашего теста.any()
говорит: «Я не знаю, какие параметры будут использоваться».Но вы, вероятно, должны это знать.
Итак, короче говоря: (если вообще), вы должны только высмеивать объект message
, чтобы возвращать настроенный экземпляр карты при вызовах getMBC()
.Ваш подход добавляет в ваши тесты "насмешливую сложность".Это приводит к тесной связи вашего теста с деталями реализации.Без веских причин.