端末コマンドを使用して、シミュレーターで実行されるアプリケーション テストを開始することはできますか?
ありがとう
端末コマンドを使用して、シミュレーターで実行されるアプリケーション テストを開始することはできますか?
ありがとう
はい、動作しました。私の解決策はどういうわけかラフであり、すべての場合に適しているとは限りません。
免責事項:このソリューションでは、システムファイルを編集する必要があります。それは私にとってはうまくいきますが、特にあなたが何をしているのか理解していない場合、XCodeのユニットテストスタックを台無しにする可能性があります。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Tools/RunPlatformUnitTests
代わりに
if [ "${TEST_HOST}" != "" ]; then
Warning ${LINENO} "Skipping tests; the iPhoneSimulator platform does not currently support application-hosted tests (TEST_HOST set)."
else
と
if [ "${TEST_HOST}" != "" ]; then
mkdir -p "${BUILT_PRODUCTS_DIR}/Documents"
mkdir -p "${BUILT_PRODUCTS_DIR}/Library/Caches"
mkdir -p "${BUILT_PRODUCTS_DIR}/Library/Preferences"
mkdir -p "${BUILT_PRODUCTS_DIR}/tmp"
export CFFIXED_USER_HOME="${BUILT_PRODUCTS_DIR}/"
RunTestsForApplication "${TEST_HOST}" "${TEST_BUNDLE_PATH}"
else
固定ユーザーのホームを別の場所に移動することもできますが、.appバンドルと.octestバンドルを一緒に移動する必要があると思います。
テストバンドルのビルド設定に追加-RegisterForSystemEventsします。OTHER_TEST_FLAGS
テストバンドルに、内容を含む実行スクリプトビルドフェーズが含まれていることを確認します
# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
テスト用の新しいスキームを作成します。
標準のxcodebuildを使用して、コマンドラインからテストを実行できるはずです。
xcodebuild -workspace $(WORKSPACE_NAME).xcworkspace -scheme $(TEST_SCHEME) -configuration debug -sdk iphonesimulator
テストを実行するときに、シミュレーターが実行されていない必要があります。
この情報が完全であることを願っています。何かが期待どおりに機能しない場合は、お問い合わせください。
これにより、シミュレーターが実行されていないことを確認できます。
osascript -e 'tell app "iPhone Simulator" to quit'
これにより、シミュレータがアクティブかどうかを判断できます。
sh -c 'ps -xaco command | grep "iPhone Simulator"'
Xcode 4.5GM では、シミュレーターでのアプリケーション テストの実行がサポートされるようになりました。
完璧に機能しました、ありがとう!Jenkins CI サーバーで自動テストが復活しました! 修正する必要がありましたTEST_HOST=${BUNDLE_LOADER}。テストの実行時に「そのようなファイルはありません」というエラーが発生した場合は、これを行ってください。