2015-07-30 1 views
2

Я попытался проверить свое приложение, которое использует bluetooth с помощью Robollectric. Но когда я пытаюсь получить BluetoothManager, я всегда возвращаюсь обратно в Roboletric.Roboletric возвращает null Менеджер Bluetooth

Ниже приведен пример того, как я пытаюсь получить Менеджер Bluetooth внутри моего класса в 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) 

ответ

2

UPDATE

Вопрос и ответ устарели, если вы используете Robolectric v3.1 +

================ =========

Robolectric предоставляет lot of services from the box. Однако BluetoothManager не является его частью. Я думаю, это потому, что до API18 мы использовали BluetoothAdapter.getDefaultAdapter().

Похоже, вы ориентируетесь на новейший API, и «старый» способ - не ваш выбор. В качестве обходного пути для вашего теста вы можете использовать описанный подход here.

Я также создал issue на Robolectric GitHub странице

+0

Это уже не так. Robolectric уже поддерживает Bluetooth Manager – kmalmur

+0

Обновленный ответ. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^