[#37] 테마 스키마 재정의 #38

Merged
pricelees merged 13 commits from refactor/#37-1 into main 2025-09-03 02:03:37 +00:00
Showing only changes of commit 6db81feb9b - Show all commits

View File

@ -1,9 +1,73 @@
package roomescape.util
import io.kotest.core.config.AbstractProjectConfig
import io.kotest.core.spec.Spec
import io.kotest.core.spec.style.BehaviorSpec
import io.kotest.core.spec.style.FunSpec
import io.kotest.core.spec.style.StringSpec
import io.kotest.extensions.spring.SpringExtension
import io.kotest.extensions.spring.SpringTestExtension
import io.restassured.RestAssured
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.boot.test.web.server.LocalServerPort
import roomescape.member.infrastructure.persistence.MemberRepository
import roomescape.util.CleanerMode.AFTER_EACH_TEST
object KotestConfig : AbstractProjectConfig() {
override fun extensions(): List<SpringTestExtension> = listOf(SpringExtension)
}
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
abstract class FunSpecSpringbootTest : FunSpec({
extension(DatabaseCleanerExtension(mode = AFTER_EACH_TEST))
}) {
@Autowired
private lateinit var memberRepository: MemberRepository
@LocalServerPort
var port: Int = 0
lateinit var loginUtil: LoginUtil
override suspend fun beforeSpec(spec: Spec) {
RestAssured.port = port
loginUtil = LoginUtil(memberRepository)
}
}
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
abstract class StringSpecSpringbootTest : StringSpec({
extension(DatabaseCleanerExtension(mode = AFTER_EACH_TEST))
}) {
@Autowired
private lateinit var memberRepository: MemberRepository
@LocalServerPort
var port: Int = 0
lateinit var loginUtil: LoginUtil
override suspend fun beforeSpec(spec: Spec) {
RestAssured.port = port
loginUtil = LoginUtil(memberRepository)
}
}
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
abstract class BehaviorSpecSpringbootTest : BehaviorSpec({
extension(DatabaseCleanerExtension(mode = AFTER_EACH_TEST))
}) {
@Autowired
private lateinit var memberRepository: MemberRepository
@LocalServerPort
var port: Int = 0
lateinit var loginUtil: LoginUtil
override suspend fun beforeSpec(spec: Spec) {
RestAssured.port = port
loginUtil = LoginUtil(memberRepository)
}
}