Kotlin匿名类实现单元测试

时间:2020-04-01 12:23:17

标签: unit-testing kotlin mockk

我在一个类中有一个方法,该方法正在实现接口并从已实现的方法更新实时数据的值。 我正在使用Mockk库在Kotlin中编写测试用例。 获取“ io.mockk.MockKException:每个{...}块内都缺少呼叫。”尝试测试此代码段时。


fun setListener() {
        connectingModelObject.setConnectivityModelEventListener(object : ConnectivityModelEventNotifier  {

            override fun pinDisplayRequest() {
                pinDisplayLiveData.postValue(true)
            }

            override fun updateConnectivityMessage(status: Int) {
                updateConnectivityStatusLiveData.postValue(status)
            }

            override fun onConnectionSuccessful(status: Boolean) {
                connectionSuccessfulLiveData.postValue(status)
            }

            override fun acceptDisplayRequest() {
                acceptDisplayRequestLiveData.postValue(true)
            }
        })
    }

这是我的测试代码


class ConnectivityViewModelTest {
    lateinit var connectingContextModel: ConnectingContextModel
    lateinit var connectivityViewModel: ConnectivityViewModel
    lateinit var connectivityModelEventNotifier: ConnectingContextModel.ConnectivityModelEventNotifier

    @Before
    fun setUp() {
        connectivityViewModel = ConnectivityViewModel()
        connectingContextModel = mockk()
        connectivityModelEventNotifier = mockk()
    }

    @get:Rule
    var rule: TestRule = InstantTaskExecutorRule()

   @Test
    fun `test setListener void`() {
        every { connectivityViewModel.setListener() }
        connectivityViewModel.setListener()
        verify { connectivityViewModel.setListener() }
    }

    @After
    fun tearDown() {
    }
}

有人做过吗?如果是,请帮助

0 个答案:

没有答案
相关问题