Junit с использованием eq () для сопоставления аргументов и прямой передачи строки - PullRequest
0 голосов
/ 12 июня 2019

Какой смысл использовать аргумент eq (), если передача строки напрямую делает то же самое.

например, поведение

когда (method.foo ("test")). ThenReturn ("bar");

аналогично

когда (method.foo (ArgumentMatcher.eq ( "тест"))) thenReturn ( "бар");.

1 Ответ

1 голос
/ 13 июня 2019

ArgumentMatchers больше, чем eq().Другой популярный - any(), но есть еще много ArgumentMatchers .Как правило, они используются вместе, чтобы помочь определить правильное значение для теста.Вы можете не захотеть проверять все аргументы во всех тестах.Например, если в вашем коде было больше параметров.

when(method.foo(eq("test"), any(Test.class), isNull()).thenReturn("bar");

Я согласен, что eq() кажется избыточным, но дело в том, что если один аргумент использует совпадение, все должны, поэтомуесли вы хотите использовать один any(), вы больше не можете просто поставить развернутый аргумент String.

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