1. ホーム
  2. ios

[解決済み] Pure Swift プロジェクトで、Unit テストを実行しているかどうかをアプリに知らせるには?

2022-10-07 10:06:18

質問

Xcode 6.1 でテストを実行するときに困ることは、アプリ全体を実行し、そのストーリーボードとルート ビュー コントローラーを起動しなければならないことです。私のアプリでは、これは API データをフェッチするいくつかのサーバー呼び出しを実行します。しかし、私は、テストを実行するときにアプリがこれを行うことを望んでいません。

プリプロセッサ マクロがなくなったので、私のプロジェクトが、通常の起動ではなく、テストを実行して起動したことを認識するための最良の方法は何でしょうか。私は、テストを通常 コマンドで実行します。 + U とボット上で

疑似コードで

// Appdelegate.swift
if runningTests() {
   return
} else {
   // do ordinary api calls
}

どのように解決するのですか?

副作用を避けるためにテストが実行されているかどうかを確認する代わりに、ホストアプリケーション自体を使用せずにテストを実行することができます。Project Settings -> select the test target -> General -> Testing -> Host Application -> select 'None'. ただ、テストを実行するために必要なすべてのファイルと、通常ホストアプリターゲットによってインクルードされるライブラリを忘れずにインクルードしてください。