我試圖將最小BLE測試設備放在一起,其中測試控制着BLE連接的兩端。被測代碼運行在設備上(iOS7模擬器不支持BLE)並使用CBCentralManager
。連接的外圍端將位於MacBook Pro上。從設備上運行的iOS XCTestCase調用OS X代碼
iOS XCTestCase在Xcode下的同一臺Mac上運行。
我想讓我的測試代碼在XCTestCase
中運行,以便能夠控制BLE連接的外圍端。
因此典型的測試可能是:
1)XCTestCase
被測調用代碼,以使其連接到所述外圍(MAC)。 2)當連接完成時,XCTestCase
會導致外設(mac)關閉連接。 3)XCTestCase
檢查iOS中測試代碼生成的結果。
所以我的問題是,如何能的iOS XCTestCase
通信/控制代碼在OS X(Mac的環境)中運行 一切都在Xcode
監督在同一Mac上運行,除了碼錶現爲外周端。
我希望我已經足夠好地解釋了這個場景,並且這是這類問題的正確位置。
我想到的一個想法是在Mac上運行一個web服務器,XCTestCase
代碼和外設代碼都會將消息傳遞給對方。更直接的通信會更好。
謝謝。
您確定要對此進行測試嗎?這就像通過實際執行Web請求來測試Web連接(除非我誤解了這個問題)。你不會更好地嘲笑嗎? – Abizern
測試的目標是藍牙低功耗功能,以確保iOS應用程序在連接的中央端的有效行爲。因此,XCTest需要創建/強制條件(例如斷開連接),然後監視App的行爲。例如,以確保App嘗試重新嘗試重新連接。 Web元素(在Mac上運行的本地服務器)僅作爲XCTest控制連接外圍端的方法提出。對於冗長的評論感到抱歉,希望能夠澄清。 – user2196409