当我从Android Studio开始进行Robolectric测试而不是Gradle构建时,为什么线程名称会有所不同?
e.g。考虑这个简单的测试:
@RunWith(RobolectricTestRunner.class)
public class RobolectricRxThreadTest {
@Test
public void testMainThreadName() {
assertEquals("main", Thread.currentThread().getName());
}
}
当我开始这个测试时
:app
- Tasks
- verification
- test
,或者从终端视图:./gradlew test
)失败
线程名称为Thread worker
而非预期的main
。答案 0 :(得分:1)
我刚刚复制了这个问题,但我想知道你为什么需要这个测试?
如果你真的想检查主线程,那么正确的方法是:
assertThat(Thread.currentThread()).isEqualTo(Looper.getMainLooper().getThread());
此测试从AS和控制台传递都运行。