В чем разница между @RunWith (MockitoJUnitRunner.class) и @RunWith (SpringJUnit4ClassRunner.class)? Когда использовать это соответственно? - PullRequest
0 голосов
/ 24 июня 2019

В чем разница между @RunWith(MockitoJUnitRunner.class) и @RunWith(SpringJUnit4ClassRunner.class)? Когда использовать его надлежащим образом?

1 Ответ

0 голосов
/ 25 июня 2019

MockitoJUnitRunner

  • , специально предназначенный для использования с тестовой средой Mockito
  • инфраструктура Mockito помогает с ложными зависимостями, когда вы хотите сосредоточить свои тесты на одном классе и избежать вызова методов назависимости (вместо этого вызывает макет / манекен, который легко настраивается).
  • Выше приведено то, для чего используется mockito, но более подробно об этом раннере - из документации: «Содержит тесты в чистоте и улучшает опыт отладки».«Runner совершенно необязателен - есть и другие способы заставить @Mock работать».Источник - https://static.javadoc.io/org.mockito/mockito-core/2.6.8/org/mockito/junit/MockitoJUnitRunner.html

SpringJunit4ClassRunner

  • , специфичный для использования с платформой пружины
  • , используемой для интеграционных тестов, когда требуется загрузить контекст пружины(создавать бобы весны, выполнять внедрение зависимостей и т. д.).
  • В интеграционных тестах вы, возможно, не будете так много издеваться над зависимостями, но вы можете сделать и то и другое в одном и том же тесте.
  • Интеграционные тесты полезны, когда вы хотите проверить загрузку пружинного контекста или, возможно, провести тестирование от уровня обслуживания / высокого уровня до более низких уровней, таких как доступ к данным, с помощью одного теста.

В некоторых случаях вы можете захотеть использовать оба - например, интеграционный тест, где вы также хотели бы смоделировать некоторые зависимости (возможно, они делают удаленные вызовы).К сожалению, вы не можете использовать два @RunWiths, но это хороший пост об этом - Несколько операторов RunWith в jUnit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...