Robolectric 处理程序 post() 未按预期工作
Robolectric Handler post() not working as expected
我有以下代码
class ClassToTest {
fun doSomething() {
Handler().post {
println("some work by handler")
}
}
}
和下面的测试代码
@RunWith(RobolectricTestRunner::class)
@Config(sdk = [Build.VERSION_CODES.N_MR1])
class TestClass {
@Test
fun `test do something`() {
val underTest = ClassToTest()
underTest.doSomething()
}
}
我的打印语句或 Handler#post 中的任何内容显然没有被调用
为什么?
Robolectric 版本 4.7.3
Java 版本 11
compileSdk 30
找到解决方案感谢这个 post,添加 shadowOf(getMainLooper()).idle()
触发里面的东西 post {}
@Test
fun `test do something`() {
val underTest = ClassToTest()
underTest.doSomething()
shadowOf(getMainLooper()).idle()
}
我有以下代码
class ClassToTest {
fun doSomething() {
Handler().post {
println("some work by handler")
}
}
}
和下面的测试代码
@RunWith(RobolectricTestRunner::class)
@Config(sdk = [Build.VERSION_CODES.N_MR1])
class TestClass {
@Test
fun `test do something`() {
val underTest = ClassToTest()
underTest.doSomething()
}
}
我的打印语句或 Handler#post 中的任何内容显然没有被调用
为什么?
Robolectric 版本 4.7.3 Java 版本 11 compileSdk 30
找到解决方案感谢这个 post,添加 shadowOf(getMainLooper()).idle()
触发里面的东西 post {}
@Test
fun `test do something`() {
val underTest = ClassToTest()
underTest.doSomething()
shadowOf(getMainLooper()).idle()
}