Android-CleanArchitecture-Kotlin icon indicating copy to clipboard operation
Android-CleanArchitecture-Kotlin copied to clipboard

MovieDetailsViewModelTest always passed

Open duybuiappliedmesh opened this issue 4 years ago • 1 comments

when running MovieDetailsViewModelTest, I found the test always pass though I changed assertion of a test Also I set a debug inside LiveData, the test never reach the breakpoint

@Test fun test() {
        val movieDetails = MovieDetails(0, "IronMan", "poster", "summary",
                "cast", "director", 2018, "trailer")
        coEvery { getMovieDetails.run(any()) } returns Right(movieDetails)
        movieDetailsViewModel.movieDetails.observeForever {
            with(it!!) {
                id shouldEqualTo 1
                title shouldEqualTo "IronMan"
                poster shouldEqualTo "poster"
                summary shouldEqualTo "summary"
                cast shouldEqualTo "cast"
                director shouldEqualTo "director"
                year shouldEqualTo 2018
                trailer shouldEqualTo "trailer"
            }
        }
        runBlocking { movieDetailsViewModel.loadMovieDetails(0) }
    }

This test should be fail, cause id should be 0 not 1, but not sure why the test will pass

duybuiappliedmesh avatar Oct 02 '21 14:10 duybuiappliedmesh

The function update value for LiveData inside ViewModel never call on UnitTest, that's why observer on ViewModelTest never get a callback. Does anyone have experience with this, please help me to check. Thank you

duybuiappliedmesh avatar Oct 03 '21 11:10 duybuiappliedmesh