Kotest Pitest 확장

Pitest 확장에 대해 소개한다.

돌연변이 테스트 도구 Pitest는 확장 모듈을 통해 Kotest와 통합된다.

Gradle configuration

Pitest를 구성한 후 종속성에도 io.kotest.extensions:kotest-extensions-pitest 모듈을 추가한다:

testImplementation("io.kotest.extensions:kotest-extensions-pitest:<version>")

NOTE: pitest는 확장 기능이므로 핵심 모듈과는 다른 maven 그룹 이름(io.kotest.extensions)을 사용한다.

그런 다음 Kotest를 테스트 플러그인(testPlugin)으로 사용할 것임을 Pitest에 알려야 한다:

// Assuming that you have already configured the Gradle/Maven extension
configure<PitestPluginExtension> {
    // testPlugin.set("Kotest")    // needed only with old PIT <1.6.7, otherwise having kotest-extensions-pitest on classpath is enough
    targetClasses.set(listOf("my.company.package.*"))
}

Maven configuration

먼저 Maven Pitest 플러그인을 구성해야 한다:

<plugin>
    <groupId>org.pitest</groupId>
    <artifactId>pitest-maven</artifactId>
    <version>${pitest-maven.version}</version>
    <configuration>
        <targetClasses>...</targetClasses>
        <coverageThreshold>...</coverageThreshold>
        ... other configurations as needed        
    </configuration>
</plugin>

그런 다음 Pitest Kotest 확장에 종속성을 추가한다:

<dependencies>
  ... the other Kotest dependencies like kotest-runner-junit5-jvm 
  <dependency>
    <groupId>io.kotest.extensions</groupId>
    <artifactId>kotest-extensions-pitest</artifactId>
    <version>${kotest-extensions-pitest.version}</version>
    <scope>test</scope>
  </dependency>
</dependencies>

이 정도면 Pitest를 실행하고 Maven Pitest 플러그인에 설명된 대로 보고서를 얻을 수 있다.


참조




최종 수정 : 2024-04-21