我正在將一些測試從Java轉換爲Kotlin。對於Java測試,我使用AssertJ庫,它非常強大並且擁有豐富的斷言。我的問題是,對於Kotlin測試,我不能使用AssertJ和 Kotlin JUnit(org.jetbrains.kotlin:kotlin-test-junit
)具有非常有限的一組斷言。是否有與AssertJ庫等價的Kotlin?
是否有Kotlin等同於AssertJ或更好的斷言方式?
我發現Kluent library但我仍然不確定這是否是最好的庫。
我正在將一些測試從Java轉換爲Kotlin。對於Java測試,我使用AssertJ庫,它非常強大並且擁有豐富的斷言。我的問題是,對於Kotlin測試,我不能使用AssertJ和 Kotlin JUnit(org.jetbrains.kotlin:kotlin-test-junit
)具有非常有限的一組斷言。是否有與AssertJ庫等價的Kotlin?
是否有Kotlin等同於AssertJ或更好的斷言方式?
我發現Kluent library但我仍然不確定這是否是最好的庫。
沒有官方等效的,但是基本AssertJ仍然在許多情況下使用,看起來相當精緻:
assertThat(info)
.containsKey("foo")
assertThatThrownBy { session.restTemplate.postForLocation("foo", {}) }
.isExactlyInstanceOf(HttpClientErrorException::class.java)
如果你想專門的包裝,這個早期階段的項目正在努力實現這一點: https://github.com/wuan/assertj-core-kotlin
我檢查了此庫,但它處於非常早期的階段。 –
@MarioKutlev這是我們得到的最好的 –
@MarioKutlev我在答案中增加了一些簡單的示例 - 另外,如果您只是將示例添加到問題中(或創建一個新示例,因爲這個示例是關於庫的) –
你可能不再尋找一個斷言庫,但以防萬一,你是不是與您當前的選擇了快樂,看看https://github.com/robstoll/atrium
它支持尤其是:
實例
爲什麼你不能使用assertj? – yole
請舉例說明它如何不適用於您的案例,以及/或者您不知道如何在Kotlin中執行相應操作的情況 – Les