无法通过xcodebuild从命令行执行测试

Sun*_*nny 19 xcodebuild ios xctest

我正在尝试使用iOS测试用例的命令行来构建和运行测试用例.我给出了以下命令:

xcodebuild -target AppEngineTests -configuration Debug -sdk iphonesimulator TEST_AFTER_BUILD=YES clean build
Run Code Online (Sandbox Code Playgroud)

它构建应用程序,但不运行测试用例.

有人可以帮忙吗?谢谢

too*_*ser 18

我发现该name物业需要更多规格.

xcodebuild test -workspace #{WORKSPACE_FILE} -scheme #{TEST_SCHEME} -destination 'platform=iOS Simulator,name=iPhone Retina (4-inch),OS=7.0'
Run Code Online (Sandbox Code Playgroud)

最终是什么对我有用.iPhone是有限的和/或不可预测的.

作为另一张提到的海报(找不到引文),'平台'松散地对应于目标列表中的分隔符,'name'对应于子选择,OS参数对应于人字形的右侧.相同的列表减去'iOS'.

不幸的是,这些文档具有启发性,乍看之下听起来具有权威性而实际上并不完整或正确.

令人惊讶的是这是一个麻烦.一旦实现正确的调用,它的效果如何.


Chr*_*son 12

您还没有说过您正在使用的Xcode版本,但由于您使用"xctest"标记了您的问题,因此假设您拥有Xcode 5或更高版本似乎是安全的.

Xcode 5 xcodebuild通过test动词显着增强了对运行测试的支持.使用此动词时,您需要指定方案和目标而不是目标,因为它的行为与Xcode IDE中的Test命令相同.

因此,例如,假设您的项目或名为AppEngine的工作空间中的共享方案已正确配置其测试方案操作,您将能够使用

xcodebuild test -scheme AppEngine -destination 'platform=iOS Simulator,name=iPad'
Run Code Online (Sandbox Code Playgroud)

在配置为运行最新iOS的iPad的iOS模拟器中运行为AppEngine方案配置的所有单元测试.有关目标说明符语法的更多详细信息,请参见xcodebuild手册页.(您甚至可以使用它在连接的iOS设备上运行测试!)

之前用于运行单元测试的脚本已经过调整,以引导用户使用test动词,因为通过这些改进,每个人都应该使用它.