Xcode 4.5 コマンドラインユニットテスト 質問する

Xcode 4.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'

テストは合格して完了したと書かれていますが、実際には実行されていないと思います。

テストを実行するには、次のコマンドを使用します。

xcodebuild -workspace MyApp.xcworkspace -scheme MyAppTests -sdk iphonesimulator -configuration Debug clean build TEST_AFTER_BUILD=YES

同じ問題に遭遇した方、解決策を提案できる方はいらっしゃいますか?

ベストアンサー1

この問題の解決のために私が行ったことを共有すべきだと思いました。私は、https://stackoverflow.com/a/10823483/666943ただし、Ruby スクリプトをシェルに変換しました。最終的には、基本的にios-simhomebrew 経由でインストールし、Test ターゲットの を次のように置き換えましRun ScriptBuild 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_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

おすすめ記事