从Xcode 5 CI bot触发断点

时间:2014-03-12 05:47:07

标签: ios xcode continuous-integration lldb xcode-bots

我有一个运行XCTest单元测试的Xcode 5 CI服务器。

我的测试用例依赖断点来触发特定的操作。这些操作对于测试的运行至关重要。

如果我在本地运行测试,一切都会通过。问题是:当机器人在服务器上运行测试时,似乎忽略了断点。

我尝试了一个带有警报声的示例断点,仅用于测试。我共享了断点并将共享断点提交到项目的git存储库。机器人正确检查出包含断点的项目(我可以通过检查/ Library / Server / Xcode / Data / BotRuns / Cache /...)中的项目来验证这一点。

但是,当机器人运行时,不会触发断点。我没有听到声音,执行也没有暂停。

这种行为显然对大多数情况都有意义,但在我的具体情况下 - 有没有办法配置机器人以便不忽略断点?

1 个答案:

答案 0 :(得分:1)

是否可以启用此功能,或者不让测试依赖于被测系统外部的某些东西,比如断点,以确保测试通过对我来说似乎是一个破碎的设计。

理想情况下,您的测试应该能够以交互式或非交互式方式在任何计算机上运行。由于您无法保证Breakpoints具有“在评估后自动继续”标记集,因此它们似乎绝对不适合非交互式运行。

使用断点进行测试也会增加对Xcode的依赖性以运行测试,因为其他构建系统(如xcodebuildxctool)可能甚至不了解项目文件中的断点。

我会重构你的测试以消除对断点的这种依赖。如果您需要帮助,这听起来像一个很棒的堆栈溢出问题;)