我 在 github 示例中找到了如何使用标准 Mockito 创建最终类 (BluetoothGatt.class) 的实例:
...
@RunWith(RobolectricTestRunner.class)
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public class OnBoardingServiceTest {
private BluetoothGattCharacteristic characteristic;
private OnBoardingService service;
private BluetoothGattReceiver receiver = new BluetoothGattReceiver();
@Before public void initialise() {
BleDevice bleDevice = mock(BleDevice.class);
when(bleDevice.getType()).thenReturn(BleDeviceType.WunderbarMIC);
BluetoothGatt gatt = mock(BluetoothGatt.class);
...
但从 Mockito 常见问题解答 :
Mockito 的局限性是什么
- 需要java 1.5+
- 无法模拟最终课程
- ...
我检查了它是来自标准 android-sdk 的 BluetoothGatt,所以它看起来像模拟最终类。现在我尝试构建项目,确保这个测试有效。它如何使用核心模拟在这里制作模拟最终课程?如果它的代码最终无法正常工作,您知道如何模拟最终类以进行 android 仪器测试吗?(我已经尝试过 PowerMock)。谢谢