我曾尝试使用Robollectric测试我的应用程序使用蓝牙。但是当我试图获得蓝牙管理器时,我总是在Roboletric中获得空值。
以下是我在Robolectric的课程中尝试使用蓝牙管理器的方法。
final BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
感觉我在Robolectric的设置中遗漏了一些简单的东西?以下是用于设置课程的公告。
@Config(
sdk = Build.VERSION_CODES.KITKAT
, manifest = "src\\main\\AndroidManifest.xml"
)
@RunWith(RobolectricTestRunner.class)
答案 0 :(得分:2)
<强>更新强>
如果您使用 Robolectric v3.1 +
,问题和答案已过时=========================
Robolectric 提供lot of services from the box。但是,BluetoothManager
不属于它。我认为这是因为在API18之前我们使用了BluetoothAdapter.getDefaultAdapter()
。
看起来您的目标是最新的API,而“老”方式不是您的选择。作为测试的变通方法,您可以使用here描述的方法。
我还在Robolectric GitHub页面上创建了issue