Ir al contenido principal
Versión: 5.3.x

Matchers del Compilador

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

La extensión kotest-assertions-compiler proporciona matchers para verificar si un fragmento de código Kotlin compila o no. Esta extensión es un wrapper sobre kotlin-compile-testing e incluye los siguientes matchers:

  • String.shouldCompile()

  • String.shouldNotCompile()

  • File.shouldCompile()

  • File.shouldNotCompile()

Para añadir los matchers de compilación, agrega esta dependencia a tu proyecto:

testImplementation("io.kotest.extensions:kotest-assertions-compiler:${version}")

Uso:

    class CompilationTest: StringSpec() {
init {
"shouldCompile test" {
val codeSnippet = """ val aString: String = "A valid assignment" """.trimMargin()

codeSnippet.shouldCompile()
File("SourceFile.kt").shouldCompile()
}

"shouldNotCompile test" {
val codeSnippet = """ val aInteger: Int = "A invalid assignment" """.trimMargin()

codeSnippet.shouldNotCompile()
File("SourceFile.kt").shouldNotCompile()
}
}
}

Durante la verificación de compilación de fragmentos de código, se hereda el classpath del proceso invocador. Esto significa que cualquier dependencia disponible en el proceso invocador también estará disponible durante la compilación.

Matchers que verifican si un fragmento de código Kotlin compila o no

MatcherDescription
string.shouldCompile()Asserts that the string is a valid Kotlin code.
file.shouldCompile()Asserts that the file contains valid Kotlin code.