android – How can I unit testing coroutine with liveData builder?

I using the liveData builder to avoid the mutables properties and leave my VM cleaner. It works, but when I want to run my tests and invoke to my VM function, it fails because it seems that only emits LOADING status and not the next SUCCESSFUL state.

Im using InstantTaskExecutorRule and MainCoroutineRule rules

MyViewModel:

    fun getMyData() = liveData {
        emit(Result.Loading())
        emit(myRepo.getMyData())
    }

MyTest:

    fun test() = runBlockingTest {
        //GIVEN
        val mockResponse = mock<Response>()
        val actual = Result.Success(mockResponse)

        whenever(myRepo.getMyData()).thenReturn(actual)

        //WHEN
        viewModel.getMyData()

        //THEN:
        Assert.assertEquals(
            viewModel.getMyData().getOrAwaitValue(), //I think that here is the problem
            Result.Success(mockResponse)
        )
}

Run Test Error:

java.lang.AssertionError: 
Expected :Loading (...)
Actual   :Success(data=Mock for Response, hashCode: 2075372030)

Note: when I use the common values with mutables properties in my VM, the tests works fine and the assertions run successfully.
eg:

VM:

fun getMyData() = viewModelScope.launch {
    _uiState.value = Result.Loading()
    _uiState.value = myRepo.getMyData()
}

Test:

   Assert.assertEquals(
        viewModel.uiState.getOrAwaitValue(),
        Result.Success(mockResponse)
    )