2015-05-26 1 views
10

Моего кода приложения использует AServiceКак окурок вызова метода с неявной согласованью в Mockito и Scala

trait AService { 
    def registerNewUser (username: String)(implicit tenant: Tenant): Future[Response] 
} 

зарегистрировать новый пользователь. Класс Арендатором простой случай класс:

case class Tenant(val vstNumber:String, val divisionNumber:String) 

Черта AServiceMock подражает регистрационную логику, используя высмеивал версию AService

trait AServiceMock { 
    def registrationService = { 
    val service = mock[AService] 
    service.registerNewUser(anyString) returns Future(fixedResponse) 
    service 
    } 
} 

Iow когда registerNewUser вызывается AService ответ будет «fixedResponse» (определенные в другом месте).

Мой вопрос в том, как определить неявный параметр tenant как mockito-сопряжение, как anyString?

кстати. Я использую Mockito с Specs2 (и PLAY2)

+1

Грубое предположение: что о 'неявной опр tenantMatcher = любой [Арендатор] '? – Eric

+0

@ Эрик, идеальное решение! Мне потребовалось две чашки кофе, см. Ниже;) – simou

ответ

11

Иногда приходится размещать на SO первым, чтобы придумать совершенно очевидный ответ (duhh):

service.registerNewUser(anyString)(any[Tenant]) returns Future(fixedResponse)