我正在实施一个用 Swift 2.2 编写的iOS应用程序,该应用程序与蓝牙设备(CBPeripheral
)进行交互。我有一个类BLEManager
,它充当与CBCentralManager
实例交互的接口。它提供了类似的方法:
func startScanning() {
cbCentralManagerInstance.scanForPeripheralsWithServices()
}
和
func disconnect() {
cbCentralManagerInstance.cancelPeripheralConnection()
}
以及它实现CBCentralManagerDelegate
方法作为扩展名:
func centralManager(:didDiscoverPeripheral)
func centralManager(:didConnectPeripheral)
func centralManager(:didDisconnectPeripheral)
func centralManagerDidUpdateState(:)
如何以这样的方式测试BLEManager
,以便测试调用CBCentralManagerDelegate
方法并验证行为?
这个问题:
How does one unit test code that interacts with the Core Bluetooth APIs?
有人问过,并给出了一个简短的抽象答案,但我不知道在哪里或如何开始。答案提到验证代码与API的交互,但这会是什么样的?如果我需要一个真正的CBPeripheral
实例作为依赖项,那么委托方法如何被触发?
我看了一遍,找到了例如:
但他们给出了简短的概述和简单的代码示例,以展示他们试图解释的一个问题,但这似乎不足以让我了解如何实现以及从何处开始。
请帮助!!代码示例是首选的解释/答案。 :)