2
私はユーザデータベースを必要とする暗黙のクラスを持っています。私は暗黙的なクラスで自己型を使用したいので、テストスコープでのデータベースの実装を模擬バージョンに切り替えることができます。この場合、データベースプロバイダをどのように混在させるのですか?たとえば、RuchUserのユーザーは、デフォルトのミックスインを提供することでUserDatabaseProviderを混在させることを心配する必要はありません。だから、ユーザーはUser("name").userContext
を実行して、テスト用のスコープで同じことをして、どこでmockedデータベースプロバイダを使うためのデフォルトのミックスインを提供するのですか?自己型で暗黙的に使用するスカラー
case class User(name: String)
object User {
implicit class RichUser(self: User) { this: UserDatabaseProvider =>
def userContext: String = this.getUserContext(self.name)
}
}
// Usage of Rich user should be below as I want to provide already mixed-in implicit
import User._
val context = User("name").uerContext