¿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 un equivalente de Kotlin para AssertJ o una mejor manera para las aseveraciones?
- cómo inicializar correctamente el recurso compartido en kotlintest 2.x (interceptSpec)
- ¿Cuál es la diferencia entre shouldbe y shouldbee exactamente en KotlinTest?
- ¿Cómo hacer que kotlintest trabaje con Spring?
- ¿Cómo puedo inicializar la variable antes de cada testing usando el marco kotlin-test
- Cómo alterar las properties del object de testing en KotlinTest a través de interceptTestCase
Encontré la biblioteca de Kluent, pero todavía no estoy seguro de si esta es la mejor biblioteca para usar.
No existe un equivalente oficial, pero el AssertJ básico aún se puede usar en muchos casos y se ve bastante bien:
assertThat(info) .containsKey("foo") assertThatThrownBy { session.restTemplate.postForLocation("foo", {}) } .isExactlyInstanceOf(HttpClientErrorException::class.java)
Si desea envolturas dedicadas, este proyecto en etapa inicial está tratando de lograr esto: https://github.com/wuan/assertj-core-kotlin
Probablemente ya no estés buscando una biblioteca de afirmaciones, pero en caso de que aún no estés satisfecho con tu elección actual, echa un vistazo a https://github.com/robstoll/atrium
Es compatible, entre otras cosas:
- grupos de afirmación
- funciones de aserción para types anulables
- aserciones de properties
- afirmaciones de método
- postular que un lanzador fue lanzado
Los ejemplos en el file README le darán una buena descripción general: https://github.com/robstoll/atrium/blob/master/README.md#examples