Articles of kotlintest

KotlinTest`s BehaviorSpec "No hay methods ejecutables" con SpringJUnit4ClassRunner

Escribí la siguiente testing: @RunWith(SpringJUnit4ClassRunner::class) class KotlinTest : BehaviorSpec() { init { given("a stack") { val stack = Stack<String>() `when`("an item is pushed") { stack.push("kotlin") then("the stack should not be empty") { stack.isEmpty() shouldBe true } } `when`("the stack is popped") { stack.pop() then("it should be empty") { stack.isEmpty() shouldBe false } } } } […]

¿Cómo puedo ejecutar las testings de kotlintest con gradle?

Las testings de kotlintest funcionan perfectamente bien cuando se inician desde Intellij, pero cuando bash ejecutarlas con el command de tarea de testing de gradle, solo se encuentran y ejecutan mis testings de JUnit normales. El código de kotlintest: import io.kotlintest.matchers.shouldBe import io.kotlintest.specs.StringSpec class HelloKotlinTest : StringSpec() { init { println("Start Kotlin UnitTest") "length should […]

¿Cómo hacer que kotlintest trabaje con Spring?

Intento usar kotlintest junto con Spring (no Spring Boot, solo la spring estándar). Me resulta muy difícil de hacer. ¿Alguna sugerencia sobre lo que estoy haciendo mal? También soy un novato de Kotlin así que no podría estar haciendo algo correctamente. Esto es lo que he intentado hasta ahora: import io.kotlintest.matchers.shouldBe import io.kotlintest.specs.BehaviorSpec import org.junit.ClassRule […]

cómo inicializar correctamente el recurso compartido en kotlintest 2.x (interceptSpec)

Estoy tratando de hacer un estándar antes de beforeAll / afterAll type setup en las testings unitarias, pero estoy teniendo algunos problemas. Parece que la funcionalidad interceptSpec es lo que quiero y la documentation menciona explícitamente que esto es bueno, por ejemplo, para limpiar los resources de la database, pero no puedo encontrar un buen […]

Kotlin, cómo probar (int) array

Me gustaría encontrar una forma agradable y concisa para probar intarray al principio lo intenté mFaces[0].mIndices shouldBe intArrayOf(0, 1, 2) donde mIndices es var mIndices: IntArray = IntArray(0) pero falla Intellij también me sugiere que anule equals() con Array s Entonces quería probar algo como esto mFaces[0].mIndices.all { it. == index } shouldBe true pero […]

¿Es posible recuperar la cadena dentro de la expresión lambda?

Escritura de testings usando String Spec : class stl : StringSpec() { init { "triangle.stl" { … } } } ¿Es posible recuperar "triangle.stl" dentro de la expresión lambda?

¿Cómo puedo inicializar la variable antes de cada testing usando el marco kotlin-test

Estoy tratando de encontrar una forma de configurar la variable antes de cada testing. Al igual que el método @Before en Junit. Revise el documento de kotlin-test y descubro que puedo usar la interfaz interceptTestCase (). Pero desafortunadamente, el siguiente código activará la exception: kotlin.UninitializedPropertyAccessException: lateinit property text has not been initialized class KotlinTest: StringSpec() […]

Cómo alterar las properties del object de testing en KotlinTest a través de interceptTestCase

Estoy tratando de usar el método interceptTestCase para configurar las properties de un caso de testing en KotlinTest como a continuación: class MyTest : ShouldSpec() { private val items = mutableListOf<String>() private var thing = 123 override fun interceptTestCase(context: TestCaseContext, test: () -> Unit) { items.add("foo") thing = 456 println("Before test ${items.size} and ${thing}") test() […]

¿Existe un equivalente de Kotlin para la biblioteca AssertJ?

Estoy convirtiendo algunas testings de Java a Kotlin. Para las testings de Java utilizo la biblioteca AssertJ, que es muy poderosa y tiene un amplio set de aserciones. Mi problema es que para las testings de Kotlin no puedo usar AssertJ y Kotlin JUnit ( org.jetbrains.kotlin:kotlin-test-junit ) tiene un set muy limitado de aserciones. ¿Hay […]

¿Cuál es la diferencia entre shouldbe y shouldbee exactamente en KotlinTest?

Este es un código de testing que usa KotlinTest 1.3.5. val expect = 0.1 val actual: Double = getSomeDoubleValue() actual shouldBe expect y esta advertencia se imprimió cuando se ejecutó el código. [ADVERTENCIA] Al comparar dobles, considere usar tolerancia, por ejemplo: a shouldBe b plusOrMinus c En este caso, no quería usar plusOrMinus . Entonces, […]