Scala - Unit-Tests für Objekte / Singletons schreiben, die ein Merkmal / eine Klasse mit DB-Verbindung erweitern
Unit Test bezogene Frage
Beim Testen von Scala-Objekten, die ein anderes Merkmal / eine andere Klasse mit einer DB-Verbindung (oder einen anderen "externen" Aufruf) erweitern, ist ein Problem aufgetreten.
Wenn ich irgendwo in meinem Projekt einen Singleton mit einer DB-Verbindung verwende, ist Unit-Test keine Option, da ich die DB-Verbindung nicht überschreiben oder verspotten kann
Dies führt dazu, dass ich mein Design nur zu Testzwecken in Situationen ändere, in denen es eindeutig ein Objekt sein musste
Irgendwelche Vorschläge ?
Code-Snippet für einen nicht testbaren Code:
object How2TestThis extends SomeDBconnection {
val somethingUsingDB = {
getStuff.map(//some logic)
}
val moreThigs {
//more things
}
}
trait SomeDBconnection {
import DBstuff._
val db = connection(someDB)
val getStuff = db.getThings
}