如何测试在浓缩咖啡中单击视图时是否调用函数

问题描述

在使用 Robolectric、Espresso 和 Mockito 的单元测试中,您如何验证单击按钮时函数是否运行。

val MyFragment() : Fragment {
    ...

    fun myBtnClicked() {
        ... 
    }
}

MyFragmentUnitTest,位于测试范围内。

@RunWith(RobolectricTestRunner::class)
class MyFragmentUnitTest {
    @get:Rule
    val instantExecutorRule = InstantTaskExecutorRule()

    private lateinit var scenario: FragmentScenario<MyFragment>

    @Test
    fun `myButton click`() {
        scenario = launchFragmentInContainer(
            fragmentArgs = null,themeResId = R.style.Theme_Words,initialState = Lifecycle.State.RESUMED
        )

        val myBtn = onView(ViewMatchers.withId(R.id.my_btn)
        

        myBtn
            .check(ViewAssertions.matchers(isdisplayed()))
            .check(ViewAssertions.matchers(isClickable()))
            .perform(ViewActions.click())


        // I was hoping to use a something like this
        verify(scenario).myBtnClicked()
    } 
} 

解决方法

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

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

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