是否有相当于AssertJ库的Kotlin?

我正在将一些测试从Java转换到Kotlin。 对于Java测试,我使用AssertJ库,这个库非常强大,并且拥有丰富的断言。 我的问题是,对于Kotlin测试,我不能使用AssertJ和Kotlin JUnit( org.jetbrains.kotlin:kotlin-test-junit )具有非常有限的一组断言。

有没有Kotlin相当于AssertJ或更好的断言方式?

我find了Kluent库,但我仍不确定这是否是最好的库。

没有官方的等价物,但基本的AssertJ在许多情况下仍然可用,看起来相当不错:

 assertThat(info) .containsKey("foo") assertThatThrownBy { session.restTemplate.postForLocation("foo", {}) } .isExactlyInstanceOf(HttpClientErrorException::class.java) 

如果你想要专用的包装,这个早期的项目正在试图达到这个目的: https : //github.com/wuan/assertj-core-kotlin

你可能不再寻找一个断言库,但如果你不满意你目前的选择,请看https://github.com/robstoll/atrium

它除其他外支持:

  • 断言组
  • 可为空types的断言函数
  • 财产断言
  • 方法断言
  • 假设一个Throwable抛出

自述文件中的例子将给你一个很好的概述: https : //github.com/robstoll/atrium/blob/master/README.md#examples