¿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?

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