我一直在阅读作为 Android 架构组件示例的一部分提供的 LiveDatatestUtil.kt,并且我一直在尝试尽可能地在 Kotest 中使用它来测试事件。主要是因为(现在)Kotest 不提供 LiveData 测试功能。是否有一种惯用的方法来测试事件(基于 LiveData),即基于已发布的实用程序?
问问题
232 次
1 回答
1
我的解决方案是将以下内容添加到 util:
@VisibleForTesting(otherwise = VisibleForTesting.NONE)
infix fun <T, U : T> LiveData<Event<T>>.shouldBeTriggered(
expected: U
) {
val value = this.getOrAwaitValue()
value.getContentIfNotHandled() shouldBe expected
}
然后这允许event shouldBeTriggered withValue
用作测试。
于 2020-12-04T22:03:51.307 回答