unitarias react pruebas ios unit-testing bluetooth swift2 core-bluetooth

ios - react - Swift: código de prueba unitaria que interactúa con el núcleo bluetooth



pruebas unitarias react js (0)

Estoy implementando una aplicación de iOS escrita en Swift 2.2 que interactúa con un dispositivo bluetooth ( CBPeripheral ). Tengo una clase, BLEManager , que actúa como una interfaz para interactuar con una instancia de CBCentralManager . Proporciona métodos como:

func startScanning() { cbCentralManagerInstance.scanForPeripheralsWithServices() }

y

func disconnect() { cbCentralManagerInstance.cancelPeripheralConnection() }

así como implementa los métodos CBCentralManagerDelegate como una extensión:

func centralManager(:didDiscoverPeripheral) func centralManager(:didConnectPeripheral) func centralManager(:didDisconnectPeripheral) func centralManagerDidUpdateState(:)

¿Cómo puedo probar BLEManager de manera que pruebe que los métodos de CBCentralManagerDelegate se llaman y se comprueba el comportamiento?

Esta pregunta:

¿Cómo funciona el código de prueba de una unidad que interactúa con las API Core de Bluetooth?

se me había preguntado y se me dio una breve respuesta abstracta, pero no sé dónde ni cómo comenzar. La respuesta menciona la verificación de la interacción del código con la API, pero ¿qué aspecto tendría? ¿Cómo se desactivan los métodos delegados si necesito una instancia CBPeripheral real como dependencia?

He buscado todo, encontrar ejemplos como:

  1. https://github.com/DeliciousRaspberryPi/MockFive/issues/1
  2. https://swifting.io/blog/2016/06/06/17-unit-test-all-the-things/
  3. http://markspanbroek.github.io/MockingInSwift/

pero dan resúmenes breves y ejemplos de código simples para demostrar un punto que intentan explicar, pero eso no parece ser una explicación suficiente para tener una idea sobre cómo implementar y dónde comenzar.

¡¡POR FAVOR AYUDA!! Los ejemplos de código son preferidos con explicaciones / respuestas. :)