一些背景:
我有一个 iOS 应用程序,其目标配置为运行单元测试。我在我的 MacBook 上运行构建自动化工具 jenkins,它会自动构建这个应用程序并运行所有测试(使用命令行 xcodebuild 工具)。
Xcode 4 一切正常。这个构建自动化工具在不同的用户下运行,并运行所有这些测试。
我最近切换到 Xcode 5,但它开始失败,因为它无法启动模拟器。
问题
我有一个配置为运行测试(逻辑测试)的单元测试方案。 A 我使用以下两种方法之一运行这些测试:
Xcode 中的命令 U
或命令行“/usr/bin/xcodebuild -scheme UnitTests -sdk iphonesimulator -configuration Release clean build TEST_AFTER_BUILD=YES”
在这两种情况下,它都会尝试启动模拟器。但是,根据我的理解,它不需要它。无论如何,它运行在 x86 之上,并且看起来没有任何应用程序安装在模拟器上。
有没有办法摆脱这个讨厌的模拟器启动(因为它破坏了我的构建自动化)?
更新 1
似乎找到了非常相似的问题,但无法正常工作: Run logic tests in Xcode 4 without launching the simulator
更新 2
我发现非常相关且有趣的问题/答案:Apple CI / Xcode Service and Jenkins
最佳答案
使用 xCode 7 和 xCtool。
xctool 能够在没有模拟器的情况下执行单元测试。
为了让这个工作,
1。更新目标设置以在没有主机应用程序的情况下运行。
选择您的项目 --> 然后测试目标 --> 将主机应用程序设置为无。
<强>2。如果没有,请安装 xctool。
brew install xctool
<强>3。使用带有 xctool 的终端运行测试。
xctool -workspace yourWorkspace.xcworkspace -scheme yourScheme run-tests -sdk iphonesimulator
关于ios - 运行单元测试时不要启动模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18134670/