我在Xcode 4中创建了一个全新的iOS项目,并包含了单元测试.默认应用程序有2个目标,主应用程序和单元测试包.使用"产品>测试"(Command-U)构建应用程序,构建单元测试包,启动iOS模拟器并运行测试.现在,我希望能够从命令行执行相同的操作.命令行工具(xcodebuild)没有"测试"操作,但似乎我应该能够直接构建单元测试包目标,因为它取决于应用程序本身.但是,运行:
xcodebuild -target TestAppTests -sdk iphonesimulator4.3 -configuration Debug build
Run Code Online (Sandbox Code Playgroud)
给出以下消息:
/Developer/Platforms/iPhoneSimulator.platform/Developer/Tools/Tools/RunPlatformUnitTests:95: warning: Skipping tests; the iPhoneSimulator platform does not currently support application-hosted tests (TEST_HOST set).
Run Code Online (Sandbox Code Playgroud)
这似乎是一个谎言,因为当我从GUI运行Command-U时,为我的单元测试包目标设置了测试主机.我之前看过有关逻辑测试和应用程序测试之间分离的帖子,但似乎Xcode 4消除了这种区别.我是如何从命令行运行测试的?
虽然从命令行运行单元测试(Jenkins必需)直到Xcode 4.4.1使用这个hack,但它似乎不再适用于Xcode 4.5.
现在我收到以下错误消息:
....MyTests.build/Script-641C6E0115D3BECD004175F...: line 3: 16669 Segmentation fault: 11 "${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
Run Code Online (Sandbox Code Playgroud)
任何想法如何让它再次工作?