問題タブ [rxandroidble]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - MockRxAndroidBle による BLE 特性書き込みのモック
MockRxAndroidBle を使用して BLE 特性にデータを書き込むための JUnit テストを作成しています。addService(UUID, List<BluetoothGattCharacteristic>)
のメソッドを使用して、特性をモック デバイスに追加していDeviceBuilder
ます。特性自体は CharacteristicBuilder を使用して作成されています。テストを実行すると、次のメッセージで失敗しますjava.lang.RuntimeException: Method setValue in android.bluetooth.BluetoothGattCharacteristic not mocked. See http://g.co/androidstudio/not-mocked for details."
参照リンクは、単体テストでデフォルト値を使用する必要があることを示しています。
testOptions {
unitTests.returnDefaultValues = true
}
これを有効にすると、テストは特性のセットアップを通過できますが、特性を書き込もうとすると失敗します。この時点での例外はBleCharacteristicNotFoundException
. よく調べてみると、UUID で特性を取得すると、BluetoothGattService
インスタンスが null を返すようです。RxBleDeviceServices
デバッガーは、サービスに特性がなく、リストが null であることも示しています。この内部リストのデフォルト値は null だと思います。
特性への書き込みをモックする JUnit テストを作成する方法はありますか?
android - RxAndroidBle は低電力デバイス以外で動作します
RxAndroidBle ライブラリを使用して、低エネルギー以外のデバイスで動作する可能性はありますか?
android - 同じプロジェクトで RxAndroidBle と RxJava2 を使用できますか?
RxAndroid (RxJava2 ベース) に依存する Android アプリケーションがあります。RxJava1 を引き続き使用するRxAdnroidBle 依存関係も追加しました。
コンパイル中に次のエラーが発生しました。
次のブロックをに追加することで解決しましたbuild.gradle
:
私はすべてがうまくいっているようです。しかし、念のために言っておくと、依存関係として RxJava 1 と 2 の両方のライブラリを使用すると、問題が発生する可能性があります。
ありがとう、