Kotest Intellij Plugin 속성(Properties)
Kotest의 Intellij Plugin에서 속성을 설정하는 방법에 대해서 소개한다.
Intellij 실행기를 통해 테스트를 실행할 때, 실행기가 Gradle을 사용하도록 설정되지 않았기 때문에 gradle.properties
또는 gradle 빌드 파일에서 설정한 속성이 선택되지 않는다.
런타임 시스템 속성을 지원하기 위해 Kotest 프레임워크는 항상 클래스 경로(예: src/main/resources)에 있는 kotest.properties
파일 내에서 키 값 쌍을 찾는다.
이 파일에 있는 모든 키 값 쌍은 테스트가 실행되기 전에 시스템 속성으로 설정된다.
TIP
kotest.properties
파일에 지정된 모든 속성은 Gradle을 통한 명령줄과 Intellij 플러그인을 통해 실행되는 테스트 모두에서 작동한다.
예를 들어, 클래스 경로에 있는 kotest.properties
이 파일에 다음과 같이 추가한다:
foo=bar
그러고, 다음 테스트가 실행하면 통과된다:
class FooTest : DescribeSpec() {
init {
describe("after adding kotest.properties") {
it("foo should be set") {
System.getProperty("foo") shouldBe "bar"
}
}
}
}
일반적인 사용 사례
이러한 기능을 사용하지 않는 경우 시작 시간을 절약하기 위해 Kotest의 클래스 경로 스캔 기능을 비활성화하는 것이 일반적이다. 이렇게 하려면 kotest.properties
파일에 다음과 같이 추가한다:
kotest.framework.classpath.scanning.config.disable=true
kotest.framework.classpath.scanning.autoscan.disable=true
속성 파일 이름 지정하기
파일 이름을 kotest.properties
로 지정하고 싶지 않거나 환경에 따라 다른 파일을 지원하려는 경우 시스템 속성인 kotest.properties.filename
을 사용하여 속성 파일 이름을 설정할 수 있다.
예를 들어, kotest.properties.filename=cluster.prd.properties
로 테스트를 시작하면 테스트가 실행되기 전에 cluster.prd.properties
라는 키 값 파일이 로드된다.
참조
최종 수정 : 2024-04-21