AssertJ 库是否有 Kotlin 等效项?
Is there Kotlin equivalent for AssertJ library?
我正在将一些测试从 Java 转换为 Kotlin。对于 Java 测试,我使用 AssertJ 库,它非常强大并且有丰富的断言集。我的问题是对于 Kotlin 测试我不能使用 AssertJ 和
Kotlin JUnit (org.jetbrains.kotlin:kotlin-test-junit
) 的断言集非常有限。
是否有 AssertJ 的 Kotlin 等价物或更好的断言方法?
我找到了 Kluent library,但我仍然不确定这是否是最好的库。
没有官方的对应物,但基本的 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
它特别支持:
- 断言组
- 可空类型的断言函数
- 属性 断言
- 方法断言
- 假设抛出一个 Throwable
以及更高级的功能,例如复杂的断言构建器、对 i18n 的支持等等。
自述文件中的示例将为您提供一个很好的概述:
https://github.com/robstoll/atrium/blob/master/README.md#examples
我正在将一些测试从 Java 转换为 Kotlin。对于 Java 测试,我使用 AssertJ 库,它非常强大并且有丰富的断言集。我的问题是对于 Kotlin 测试我不能使用 AssertJ 和
Kotlin JUnit (org.jetbrains.kotlin:kotlin-test-junit
) 的断言集非常有限。
是否有 AssertJ 的 Kotlin 等价物或更好的断言方法?
我找到了 Kluent library,但我仍然不确定这是否是最好的库。
没有官方的对应物,但基本的 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
它特别支持:
- 断言组
- 可空类型的断言函数
- 属性 断言
- 方法断言
- 假设抛出一个 Throwable
以及更高级的功能,例如复杂的断言构建器、对 i18n 的支持等等。
自述文件中的示例将为您提供一个很好的概述: https://github.com/robstoll/atrium/blob/master/README.md#examples