android - 如何模拟 BluetoothAdapter.ACTION_REQUEST_ENABLE

标签 android mocking android-activity mockito robotium

我正在尝试使用以下我必须测试的代码来解决问题: 我正在使用 Mockito 和 Robotium 来解决大多数测试用例。 问题是通过以下方式启动的请求对话框来模拟用户的回答:

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBtIntent, BluetoothAdapterService.REQ_BT_ENABLE);

答案被缓存

protected void onActivityResult(int requestCode, int resultCode, Intent data) {     

    if (requestCode == 1) {                                                             /*TODO: für 1 eine Konstante verwenden, hier und in der aufrufenden Funktion*/
        if (resultCode ==   BluetoothAdapterService.REQ_BT_ENABLE) {                    /*TODO RequestCode == ResultCode dh. der COde kann hier optimiert werden*/
            btAdapterService.setBluetoothState(BluetoothAdapterService.ON);
        }
        else {
            btAdapterService.setBluetoothState(BluetoothAdapterService.OFF);            /* Wenn keine Verbindung aufgebaut werden konnte, oder die Aktivierungsaufforderung des -> */                                                                           /* BT-Adapters mit nein quittiert wurde, ist der resultCode = RESULT_CANCELD = 0 */
        }
    }
}

我已经尝试了一些解决方案来点击在测试期间显示的按钮,但是尽管我使用的是 robotium,但我无法通过以下方式访问按钮

solo.clickOnText("No");

是否也可以将请求粘贴到另一个类中并为其调用一个方法?这样我就可以以不同的方式重用请求?我试过了,但后来我遇到了没有请求出现的问题,我得到了一个异常(exception)。

我不是一个深度程序员,我已经开始了解这个话题了。我将不胜感激。

最佳答案

我不知道你测试的目的是什么。至于我,听起来您想确保您的代码正确处理用户的回答。

所以对我来说,调用 onActivityResult(1,BluetoothAdapterService.REQ_BT_ENABLE) 并在蓝牙启用后检查就足够了。

关于android - 如何模拟 BluetoothAdapter.ACTION_REQUEST_ENABLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20144665/

相关文章:

java - Activity 娱乐后连接到服务

Android Market 屏蔽电子邮件的生命周期

java - 在 Android 中裁剪和调整图像大小

java - HttpEntity的consumeContent()的使用

java - Android - 如何从 Activity 中获取 "start"或 "initialize" fragment ?

android - 如何在 Activity 之间保持 FTP 连接(或任何连接对象) Activity

安卓 : Nearest match query from SQLite DB if input string value is bigger than any of the DB values?

java - 模拟 GPS 位置问题

python - 如何从 call_args_list 获取传递给各种调用的参数?

Django 模拟单元测试表单文件字段