我慢慢地沉迷于单元测试。我正在尝试使用测试驱动开发尽可能多地开发软件。我正在使用 JUnit 对我的 android 应用程序进行单元测试。
我一直在开发一个使用蓝牙的应用程序,并且很难对其进行单元测试。我有一个使用 BluetoothAdapter 获取配对和发现设备列表的活动。虽然它有效,但我想知道如何对其进行单元测试。
为了获得配对设备的列表,我在 BluetoothAdapter 实例上调用 getBondedDevices()。问题是我不知道如何存根或模拟此方法(或我的 Activity 调用的任何其他 bluetoothAdapter 方法),因此我无法针对不同的配对设备列表测试我的 Activity。
我考虑过使用 Mockito 或尝试将 BluetoothAdapter 子类化以以某种方式删除我感兴趣的方法,但它是最后一个类,所以我也不能这样做。
关于如何测试使用 BluetoothAdapter 或(据我所知)难以或不可能存根或模拟的其他资源的程序的任何想法?再举一个例子,你将如何测试一个使用套接字的程序?
提前感谢您的帮助
aleph_null