Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我们如何才能不为单元测试取消初始化不可为null的对象?_Android_Unit Testing_Android Testing - Fatal编程技术网

Android 我们如何才能不为单元测试取消初始化不可为null的对象?

Android 我们如何才能不为单元测试取消初始化不可为null的对象?,android,unit-testing,android-testing,Android,Unit Testing,Android Testing,我试图测试在抛出异常时是否会出现错误对话框。为此,我想模拟一个未初始化的DPropertyAcessException来测试这段代码: try { account.solde?.let { view?.displaySolde(it) } } catch (ex : Exception) { view?.displayErrorMessage() } 我的测试是这样的: @Before fun setUp() { view = mock(AccountDetailAct

我试图测试在抛出异常时是否会出现错误对话框。为此,我想模拟一个未初始化的DPropertyAcessException来测试这段代码:

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()
}
但是参数account不能为null或未初始化,因为它是非null类型

您是否有一个变通方法来测试错误对话框是否正确显示


谢谢

你为什么捕获到一个永远不会抛出的异常?它有时会抛出,我不知道为什么,它会使应用程序崩溃,现在我只想显示一个对话框来防止崩溃。你不知道它为什么抛出?我同意,你应该调查这个异常。这就是重点:你不能忽略错误,你要修复它们。我不知道为什么帐户属性有时没有初始化。我同意我需要修复它,但现在我只需要防止崩溃。