저는 Bluetooth LE 신호를 캡처하는 Android 애플리케이션을 개발 중이며 테스트 중심 및 동작 중심 개발의 열렬한 팬입니다. 그래서 TDD와 BDD를 사용하여 애플리케이션을 개발하고 싶습니다. TDD의 경우 Robolectric으로 블루투스 부분을 테스트하는데 문제가 없습니다. 하지만 동작 중심 테스트를 작성하려고 하면 Android 에뮬레이터가 블루투스를 어떤 방식으로도 지원하지 않기 때문에 블루투스를 테스트할 수 없습니다.
따라서 소프트웨어에서 Bluetooth LE 장치를 시뮬레이션하고 시뮬레이션된 Bluetooth 브로드캐스트 패킷을 가상 머신에서 실행되는 Android X86으로 전달하는 것이 가능하다고 생각합니다.
구현 제안사항이 있나요? 저는 BDD 프레임워크에서 TCP를 통해 시뮬레이션된 Bluetooth 신호를 수신한 다음 이러한 신호를 시뮬레이션된 장치에 전달하는 작은 사용자 공간 프로그램을 고려하고 있습니다. 그런 다음 장치는 이를 Android X86 VM으로 전달하고 Android 애플리케이션은 신호를 캡처하고 처리합니다.
이 게시물유망해 보였지만 성공하지 못했습니다. Qemu는 Bluetooth 하드웨어를 에뮬레이션할 수 있지만 Bluetooth 키보드만 지원합니다.
CI 시스템이 서버의 도커 컨테이너에서 실행되므로 하드웨어를 사용하고 싶지 않습니다. 서버에 접근할 수 없습니다.