我想为我的应用程序运行 Kiwi 测试,但我是 Jenkins 的新手,所以可能我错过了一些东西。
我在运行 Jekins 的mac上安装了iOS-sim。我运行$ ios-sim --version
只是为了确保它已安装。
在我的测试目标的构建阶段的项目中,我添加了这个脚本:
#!/bin/sh
# Launch application using ios-sim and set up environment to inject test bundle into application
# Source: http://stackoverflow.com/a/12682617/504494
if [ "$RUN_APPLICATION_TESTS_WITH_IOS_SIM" = "YES" ]; then
test_bundle_path="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION"
environment_args="--setenv DYLD_INSERT_LIBRARIES=/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection --setenv XCInjectBundle=$test_bundle_path --setenv XCInjectBundleInto=$TEST_HOST"
ios-sim launch $(dirname $TEST_HOST) $environment_args --args -SenTest All $test_bundle_path
echo "Finished running tests with ios-sim"
else
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
fi
我的应用和测试方案都是共享的。
每次我使用以下shell脚本运行 Jenkins作业时:
xcodebuild -sdk iPhoneSimulator -workspace path/to/my/app/AdminPanel.xcworkspace -scheme AdminPanelTests -configuration Debug RUN_APPLICATION_TESTS_WITH_IOS_SIM=YES ONLY_ACTIVE_ARCH=NO clean build
即使我的测试失败了,我也能获得成功,当我检查日志时,就在它结束之前我已经
/Users/jenkins/Library/Developer/Xcode/DerivedData/AdminPanel-gbjokymklhdmkhfglybgrvrgrcnm/Build/Intermediates/AdminPanel.build/Debug-iphonesimulator/AdminPanelTests.build/Script-73BDE2F11B7B798D009339E9.sh:line 11:ios-sim:command找不到
所以基本上它甚至没有启动应用程序
答案 0 :(得分:0)
现在可以使用普通xcodebuild
从命令行运行应用程序测试而无需任何额外工作。假设您有一个新项目,您已添加Kiwi,您可以运行:
xcodebuild test
或者,如果您正在使用工作区:
xcodebuild test -workspace MyWorkspace.xcworkspace -scheme MyProj
答案 1 :(得分:0)
问题是路径,我必须在运行构建阶段脚本之前将/ usr / local / bin /添加到PATH变量。
export PATH=$PATH:/usr/local/bin/
如果遇到此问题,请始终检查Xcode运行脚本的路径。