私はゆっくりとユニットテストに夢中になっています。テスト駆動開発を使用して、できるだけ多くのソフトウェアを開発しようとしています。JUnitを使用してAndroidアプリケーションの単体テストを行っています。
私はBluetoothを使用するアプリに取り組んでおり、ユニットテストに苦労しています。BluetoothAdapterを使用して、ペアになって検出されたデバイスのリストを取得するアクティビティがあります。動作しますが、ユニットテストの方法を知りたいです。
ペアリングされたデバイスのリストを取得するには、BluetoothAdapterのインスタンスでgetBondedDevices()を呼び出します。問題は、このメソッド(またはアクティビティが呼び出す他のbluetoothAdapterメソッド)をスタブまたはモックする方法がわからないため、ペアになっているデバイスのさまざまなリストに対してアクティビティをテストできないことです。
Mockitoを使用するか、BluetoothAdapterをサブクラス化して、興味のあるメソッドをなんとかしてスタブ化することを考えましたが、これは最終クラスであるため、どちらも実行できません。
BluetoothAdapterまたは(私が知る限り)スタブまたはモックするのが困難または不可能な他のリソースを使用するプログラムをテストする方法についてのアイデアはありますか?別の例として、ソケットを使用するプログラムをどのようにテストしますか?
助けてくれてありがとう
aleph_null