问题是目标意图有多个匹配项:
Wanted to match 1 intents. Actually matched 2 intents
intended(hasComponent(LoginActivity::class.java.name), Intents.times(2))
更新:
实际问题在你的测试中。
你打电话来
mainActivityRule.launchActivity(Intent())
在你的测试方法中,那一行开始另一行
MainAcivity
LoginActivity
对于您(这就是为什么您的intent堆栈中有两个)。
mainActivityRule: ActivityTestRule<MainActivity>
您在类中定义的每个测试方法都是这样做的。
这应该起作用:
@Test
fun itStartsLoginActivityAfterDelay() {
Intents.init()
Thread.sleep(2000);
Intents.intended(hasComponent(LoginActivity::class.java.name))
Intents.release()
}