Как мы можем не инициализировать ненулевой объект для модульного теста? - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь проверить, появляется ли сообщение об ошибке при возникновении исключения.Для этого я хочу эмулировать исключение UninitializedPropertyAcessException для проверки этого фрагмента кода:

try {
    account.solde?.let { view?.displaySolde(it) }
} catch (ex : Exception) {
    view?.displayErrorMessage()
}

И мой тест выглядит так:

@Before
fun setUp() {
    view = mock(AccountDetailActivity::class.java)

    presenter = AccountDetailPresenterImpl(
        mock(OperationServiceFactory::class.java),
        mock(StatisticsHelper::class.java)
    )

    presenter.view = view
}

@Test
fun testAccountIsNotInitialized() {
    presenter.account = null
    verify(view).displayErrorMessage()
}

Но учетная запись параметра не может быть нулевой или нетинициализирован, потому что это ненулевой тип.

У вас есть обходной путь, чтобы проверить, правильно ли отображается диалоговое окно ошибки?

Спасибо

...