使用Xcode 6中的每个构建自动运行测试

时间:2015-06-06 12:47:58

标签: ios xcode xctest

当我跑步时

xcodebuild -workspace ~/Documents/JudgecardXSwift/JudgecardXSwift.xcworkspace -scheme JudgecardXSwift -destination 'platform=iOS Simulator,name=iPhone 6' clean test

从命令行,我可以成功运行我的所有测试。

现在我想在我的Xcode项目中添加一个运行脚本阶段,这样每次运行应用程序时它都会运行我的测试。但是,当我使用上面的xcodebuild命令添加运行脚本阶段时,我的构建总是挂起:

enter image description here

正如您所看到的,它必须挂在我添加的运行脚本阶段,因为它刚刚在标题为Run custom shell script 'Copy Pods Resources'之前完成了构建阶段:

enter image description here

我的方法是使用xcodebuild命令添加运行脚本阶段,以便在每次构建时自动运行测试吗?为什么它会导致我的构建过程挂起?它是否会导致某种无限循环,每个xcodebuild命令通过其运行脚本阶段启动另一个命令?

2 个答案:

答案 0 :(得分:0)

在这里迟到了,所以我想加上我的个人经验,但xcodebuild会为你启动另一个版本,重要的是xcodebuild通过命令行,因为你可能没有按预期运行你的构建阶段。我只遇到过静默失败的复制命令,我可以在日志文件中查看命令,但实际上并没有复制文件。

所以它可能会遇到一个无限循环,更可能的是它正在运行该构建,点击xcodebuild命令,然后正常构建而没有一些构建阶段正常执行,因此无需运行测试。

答案 1 :(得分:0)

在Xcode 9中,这有效。我添加了一个运行脚本:

echo "warning:  Started running myTests "

xcodebuild -sdk iphonesimulator -workspace myWorkspace.xcworkspace -scheme "myWorkspaceTests" test -destination 'platform=iOS Simulator,name=iPhone X,OS=11.2' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

如果其中一个测试失败,那么你将会遇到构建错误。