gpt4 book ai didi

ios - 从在设备上运行的 iOS XCTestCase 调用 OS X 代码

转载 作者:行者123 更新时间:2023-11-29 12:56:13 25 4
gpt4 key购买 nike

我正在尝试将最小的 BLE 测试线束放在一起,测试控制 BLE 连接的两端。被测代码在设备上运行(iOS7 模拟器不支持 BLE)并使用 CBCentralManager。连接的外围端将在 MacBook Pro 上。

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 代码和外围代码将向该服务器相互传递消息。更直接的交流会更好。

谢谢。

最佳答案

iOS XCTestCase 在 Xcode 下运行在同一台 Mac 上。

那不是真的。 iOS 测试用例不在 mac 上运行。它们被注入(inject)到应用程序中,并在 iOS 设备上运行。 Xcode 只监听一些设备事件。

让我们简化问题 - 您希望 iOS 和 Mac 进行通信。这是在生产应用程序中还是在运行测试时都无关紧要。 XCTest 的工作方式与 iOS 应用程序的任何其他部分相同,并且可以访问相同的类。

创建从 iOS 设备到 mac 的套接字(或从设备发送 HTTP 请求到 mac)是最简单的解决方案。如果您希望通信 channel 双向工作,原始 TCP 套接字应该是更好的解决方案。

关于ios - 从在设备上运行的 iOS XCTestCase 调用 OS X 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com