如何模拟蓝牙适配器.ACTION_REQUEST_ENABLE



我正试图用以下代码来解决问题,我必须测试这些代码:我使用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");

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

我不是一个独立的程序员,我已经开始了解这个话题了。我将感谢您的帮助。

我不知道测试的目的是什么。对我来说,这听起来像是您希望确保您的代码正确处理用户的答案。

所以对我来说,只要打电话给onActivityResult(1,BluetoothAdapterService.REQ_BT_ENABLE)并在蓝牙启用后进行检查就足够了。

相关内容

  • 没有找到相关文章

最新更新