Estou desenvolvendo um aplicativo para Android que captura os sinais Bluetooth LE e sou um grande fã do desenvolvimento orientado a testes e comportamento. Então, eu quero desenvolver meu aplicativo usando TDD e BDD. Quando se trata de TDD, não há problema em testar a parte bluetooth com Robolectric. Mas, quando eu quero escrever meus testes de comportamento, eu não posso testar o bluetooth porque o emulador android não suporta bluetooth de qualquer forma.
Então, eu pensei que deveria ser possível simular um dispositivo Bluetooth LE em software que encaminha pacotes simulados de transmissão Bluetooth para um Android X86 em execução em uma máquina virtual.
Você tem alguma ponte para implementar isso? Estou pensando em um pequeno programa de espaço do usuário que recebe sinais Bluetooth simulados da minha estrutura de BDD sobre TCP e, em seguida, encaminha esses sinais para o dispositivo simulado. Em seguida, o dispositivo os encaminha para a VM do Android X86 e o aplicativo para Android captura e processa os sinais.
Este post parecia promissor, mas não funcionou. O Qemu pode emular o hardware Bluetooth, mas suporta apenas o teclado Bluetooth.
Eu não quero usar nenhum hardware porque o nosso sistema de CI é executado em um contêiner docker em um servidor. Eu não tenho acesso ao servidor.