У меня есть метод в классе:
def delete(Token, Client, Scope): Future[Int]
и этот метод вызывается в другом месте в другом классе внутри другого метода как:
acr.delete(Token(token), client, scope)
где token
— это String
, а client
и scope
— типы Client
и Scope
соответственно:
case class Client(client: String) extends AnyVal
case class Scope(scope: String) extends AnyVal
Когда я пытаюсь смоделировать метод delete
в своем тесте, я делаю это так:
when(mockService
.delete(
token = any[Token],
service = any[Client],
scope = any[Scope]
)
).thenReturn(1.toFut)
который дает исключение соответствия, которое вызывает исключение нулевого указателя:
Method threw 'org.mockito.exceptions.misusing.InvalidUseOfMatchersException' exception. Cannot evaluate repositories.common.Service$MockitoMock$1804616202.toString()
mockService
это mock[Service]
. У меня есть другой издевательский метод, принадлежащий Service
, и этот макет не выдает никаких ошибок
Когда я отлаживаю его построчно, код дает сбой в строке token = any[Token]
. Я не уверен, как еще я могу использовать Matchers
и создать макет.
Что вы предлагаете мне делать?
AnyVal
? - person Tomer Shetah   schedule 09.12.2020