Edw*_*ynh 36 unit-testing xcodebuild ios6 xcode4.5
在通过命令行运行我的单元测试时更新到Xcode 4.5后出现问题.以下是我尝试运行测试时看到的输出
Unknown Device Type. Using UIUserInterfaceIdiomPad based on screen size
Terminating since there is no workspace.
/Applications/Xcode.app/Contents/Developer/Tools/RunPlatformUnitTests.include:334: note: Passed tests for architecture 'i386' (GC OFF)
/Applications/Xcode.app/Contents/Developer/Tools/RunPlatformUnitTests.include:345: note: Completed tests for architectures 'i386'
Run Code Online (Sandbox Code Playgroud)
虽然它确实说测试已经通过并完成,但我认为它们实际上并没有被运行.
我正在使用以下命令来运行测试xcodebuild -workspace MyApp.xcworkspace -scheme MyAppTests -sdk iphonesimulator -configuration Debug clean build TEST_AFTER_BUILD = YES
有没有人遇到同样的问题,可以提供解决方案?
Edw*_*ynh 29
我想我也应该分享我为解决这个问题所做的工作.我按照/sf/answers/757643841/中概述的解决方案,但将ruby脚本转换为shell.最后我基本安装ios-sim通过自制软件,更换Run Script在Build Phases我用下面的测试目标:
if [ "$RUN_UNIT_TEST_WITH_IOS_SIM" = "YES" ]; then
test_bundle_path="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION"
ios-sim launch "$(dirname "$TEST_HOST")" --setenv DYLD_INSERT_LIBRARIES=/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection --setenv XCInjectBundle="$test_bundle_path" --setenv XCInjectBundleInto="$TEST_HOST" --args -SenTest All "$test_bundle_path"
echo "Finished running tests with ios-sim"
else
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
fi
Run Code Online (Sandbox Code Playgroud)
现在开始测试我传递参数RUN_UNIT_TEST_WITH_IOS_SIM=YES例如
xcodebuild -workspace MyApp.xcworkspace -scheme MyAppTests -sdk iphonesimulator -configuration Debug clean build RUN_UNIT_TEST_WITH_IOS_SIM=YES
Run Code Online (Sandbox Code Playgroud)
我在Xcode 4.5/iOS 6的测试版中注意到了这个问题.我一直在研究一个独立的单元测试运行器来解决这个问题.它的工作原理是编译单元测试包,然后编译一个在模拟器环境中自动运行单元测试的应用程序版本.
该工具绝不是完整的,但是有足够的人似乎有这个问题,我现在正在发布这个工具.请分叉或评论,以便我可以改进工具.
xcodetest:https://github.com/sgleadow/xcodetest
在问题http://openradar.appspot.com/12306879上也要关注这个雷达
xcodebuild -project ${PROJECT_PATH}/${PROJECT_NAME}.xcodeproj \
-scheme ${TEST_SCHEME} \
-configuration Debug \
-sdk iphonesimulator5.1 \
clean build \
TEST_AFTER_BUILD=YES
将iphonesimulator设置为5.1版似乎解决了这个问题.这个问题上有雷达漏洞.
本文还提到了一个很好的解决方案:
http://baolei.tumblr.com/post/32428168156/ios-unit-test-from-command-line-ios6-xcode4-5
| 归档时间: |
|
| 查看次数: |
14663 次 |
| 最近记录: |