さまざまなライブラリをインポートし、ソースの用途 (実行とテストなど) に応じて少し異なることを行う必要があります。
本番用に次のようなさまざまなソース ファイルがあるとします。
import scala.slick.driver.PostgresDriver.simple._
import Database.threadLocalSession
case class SomeBusinessObject(...)
テストのために次のように変更する良い方法は何ですか (つまり、テスト中に別のデータベースを使用したいということです):
import scala.slick.driver.h2.simple._
import Database.threadLocalSession
case class SomeBusinessObject(...)
ああ、それから、私が使用しているデータベースへのキーを保持するデータベース クラスもあります。
import scala.slick.driver.PostgresDriver.simple._
// Use the implicit threadLocalSession
import Database.threadLocalSession
object DB{
val get = {
Database.forURL("jdbc:postgresql:test:slick",
driver="org.postgresql.Driver",
user="postgres",
password="xxxx")
}
}
私はいくつかの調査を行いました.Cakeパターンがこのタイプの鍵を握っているように見えますが、誰かが私を始めることができれば素晴らしいでしょう.
アップデート:
この質問をしてから、Slick の例で探していたものを正確に見つけました。本当にすっきりと引き立ちます!数週間前に例を調べましたが、これがどこで行われたか思い出せませんでした。