【问题标题】:java.lang.AssertionError: Assertion failed - Android JUnit Mockitojava.lang.AssertionError:断言失败 - Android JUnit Mockito
【发布时间】:2020-09-14 06:22:04
【问题描述】:
 @Before
fun setUp() {
    val compositeDisposable = CompositeDisposable()
    testScheduler = TestScheduler()
    val testSchedulerProvider = TestSchedulerProvider(testScheduler)
    sharedViewModel = SharedViewModel(
        testSchedulerProvider,
        compositeDisposable,
        networkHelper,
        repository, notesRepository, userPreferences
    )
    sharedViewModel.noteSaving.observeForever(
        noteSavingObserver
    )
    sharedViewModel.clearNoteText.observeForever(clearNoteTextObserver)

}


@Test
fun givenServerResponse200_whenNotesSaved_shouldclearTextField() {
    val notes = "testNote"
    val latitude = 3.62176
    val longitude = -7.932457
    sharedViewModel.notesField.value = notes
    sharedViewModel.latLongField.value =
        LocationModel(latitude, longitude)
    sharedViewModel.currentLocation.value = "test location"
    val newNote = Notes(latitude, longitude, notes, userPreferences.getUserId())
    doReturn(true)
        .`when`(networkHelper)
        .isNetworkConnected()

    doReturn(Single.just(true))
        .`when`(notesRepository).addNotes(newNote)
    assert(sharedViewModel.clearNoteText.value == Event("Note Saved Successfully"))

    sharedViewModel.addNote()
    testScheduler.triggerActions()
}

尽管我嘲笑了要求,但我无法断言由于某种原因而失败的语句。我无法确定原因

任何帮助将不胜感激。

【问题讨论】:

  • 请发布您的 SharedViewModel 课程。

标签: android unit-testing kotlin mockito


【解决方案1】:

您似乎会将String 与一些Event 进行比较,后者等于苹果和梨。

它可能更相似:

sharedViewModel.clearNoteText.value.equals("Note Saved Successfully")

或:

sharedViewModel.clearNoteText.value == "Note Saved Successfully"

【讨论】:

    猜你喜欢
    • 2021-01-20
    • 2019-02-02
    • 2018-12-26
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多