Проверьте правильность обновления значения, содержащегося в MutableState.
У меня есть viewModel, которая выглядит так
class PhotoViewModel(
private val getPhotoUseCase: GetPhotoUseCase
) : ViewModel() {
val photo: MutableState<PhotoItem?> =
mutableStateOf(null)
fun getPhotoDetail(photoId: Int) {
viewModelScope.launch {
val photo = getPhotoUseCase(photoId)
photoDetail.value = photo
}
}
}
и я пытаюсь обновить состояние, выполнив следующие действия.
@Test
fun `state is updated correctly`() = runTest {
coEvery {
getPhotoDetail(id = 0)
} returns PhotoItem(
...
)
systemUnderTest.getPhotoDetail(id = 0)
val actualState = systemUnderTest.photoDetail.value
assertEquals(mockedPhotoItemUiModel, actualState)
}
Но, к сожалению, тест не проходит, потому что сравниваются объекты в памяти, поэтому я получаю
Expected :com.package.PhotoItem@3791f50e
Actual :com.package.PhotoItem@574b7f4a
Должен ли я использовать другой метод для утверждения равенства? Использую ли я совершенно неправильный подход, тестируя mutableState таким образом?
Я не смог найти никаких официальных ресурсов о тестировании MutableState, кроме этого поста SO.