Jak używać makiet z Wzorem ciast

Mam następującą klasę:

class LinkUserService() {

  //** cake pattern **
  oauthProvider: OAuthProvider =>
  //******************

  def isUserLinked(userId: String, service: String) = {
    val cred = oauthProvider.loadCredential(userId)
    cred != null

  }

  def linkUserAccount(userId: String, service: String): (String, Option[String]) = {
    if (isUserLinked(userId, service)) {
      ("SERVICE_LINKED", None)
    } else {
      val authUrl = oauthProvider.newAuthorizationUrl
      ("SERVICE_NOT_LINKED", Some(authUrl))
    }
  }

  def setLinkAuthToken(userId: String, service:String, token:String):String = {
    oauthProvider.createAndStoreCredential(userId, token)
  }

}

Zazwyczaj używałbym tej klasy w produkcji w ten sposób:

val linkService = LinkUserService with GoogleOAuthProvider

Jeśli chodzi o testowanie, chcę zastąpićoauthProvider z próbnym takim, który został przeszkolony przez mój test jednostki, aby odpowiedzieć tak:oauthProvider.loadCredential("nobody") returns null. czy to możliwe? Jeśli tak, w jaki sposób mogę skonfigurować test jednostkowy, aby to zrobić?

questionAnswers(2)

yourAnswerToTheQuestion