Я новичок в Kotlin -Exposed Framework. Я ищу схему Global DB в H2 База данных - jdb c: h2: mem: test для моих тестов.
В моем приложении я использую mysql. Я хочу использовать H2 только для тестирования.
Ниже приведен мой фрагмент кода для справки.
object ConnectToDatabase : TestListener {
var database: Database? = null
override suspend fun beforeSpec(spec: Spec) {
database = Database.connect("jdbc:h2:mem:testdb", driver = "org.h2.Driver")
}
}
class StudentProcessorTests : FreeSpec() {
override fun listeners(): List<TestListener> = listOf(ConnectToDatabase)
val DaggerObj = DaggerObject.create()
val studentProcessor = DaggerObj.studentProcessor();
private fun createTable(table: Table) {
transaction {
SchemaUtils.create(table)
}
}
private fun insertSampleRowForStudent() {
transaction {
Student.insert {
//code
}
}
}
private fun insertSampleRowForDepartment() {
transaction {
Department.insert {
//code
}
}
}
init {
"Case1" {
transaction {
createTable(Student)
createTable(Department)
createTable(Faculty)
insertSampleRowForStudent()
insertSampleRowForDepartment()
val response = studentProcessor.createStudent(StudentObject)
Assert.assertTrue(response > 0)
}
}
"Case2" {
transaction {
createTable(Student)
createTable(Department)
createTable(Faculty)
insertSampleRowForStudent()
insertSampleRowForDepartment()
}
}
}
}
Здесь, каждый раз, когда мне приходится писать - createTable для каждого теста. Есть ли способ, с помощью которого я могу определить эту схему глобально и избавиться от этой части для каждого теста.