我正在使用Robolectric跑步者进行测试。正在测试的代码验证它没有在主线程上执行:
if (Looper.getMainLooper().getThread() == java.lang.Thread.currentThread()) {
new IllegalStateException("Method called on the UI thread");
}
Robolectric测试引发了这个例外,我不希望如此。我尝试从Robolectric.getBackgroundScheduler()
运行代码,但我仍然得到例外。
我的测试如何在不同的线程中运行?
答案 0 :(得分:0)
测试多线程代码的主要思想是使其在一个线程上以受控方式运行。
我会做什么:
这个解决方案的优点:
劣势:
成功!