junit.framework.AssertionFailedError:预期:<DESTROYED>,但是:<RESUMED>

问题描述

我有一个活动,其中有一个Button。单击按钮后,正在呼叫finish()。问题是,当我编写检测测试以检查活动是否被破坏时,我得到了

junit.framework.AssertionFailedError:预期:,但是:

我的问题是

  • 为什么即使调用RESUMED,状态仍然是finish()
  • 检查活动状态不是正确的方法吗?

这是我的活动

MainActivity.kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        findViewById<Button>(R.id.b_kill_me).setonClickListener {
            finish()
        }
    }
}

这是我的考试

MainActivityTest.kt

class MainActivityTest {
    @Test
    fun killMe() {
        val mainActivity = ActivityScenario.launch(MainActivity::class.java)
        onView(withId(R.id.b_kill_me)).perform(click())
        assertEquals(Lifecycle.State.DESTROYED,mainActivity.state)
    }
}

这是完整的源代码Google Drive Link

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)