ArgumentMatchers больше, чем eq()
.Другой популярный - any()
, но есть еще много ArgumentMatchers .Как правило, они используются вместе, чтобы помочь определить правильное значение для теста.Вы можете не захотеть проверять все аргументы во всех тестах.Например, если в вашем коде было больше параметров.
when(method.foo(eq("test"), any(Test.class), isNull()).thenReturn("bar");
Я согласен, что eq()
кажется избыточным, но дело в том, что если один аргумент использует совпадение, все должны, поэтомуесли вы хотите использовать один any()
, вы больше не можете просто поставить развернутый аргумент String
.