2016-01-20 23 views
5

私は同様の質問が掲載されていることは知っていますが、調査したところでは解決策はありませんでした。私はSwiftとObj-Cの両方のサンプルプロジェクトからのみUIテストを正常に実行しました。XCode UIテストターゲットで録画ボタンが無効にされています

私は、UIテストを既存のXCode Obj-Cプロジェクトに統合しようとしています(これはまったく別の問題です)。ここで私が行った手順です:私のプロジェクト内の新しいUIテストターゲットを作成し

  1. は、「テスト容易性を有効にするには」私はクリーン
  2. 、クリーンビルドをテストしていターゲットのYESに設定されていることを保証アプリケーションを再構築し、再起動したXCodeと私が考えることができるすべてのものを削除します。

これを実行すると、テストターゲットは使用できますが、録音ボタンはグレー表示(無効)になっており、テストを実行するガターには再生ボタンはありません。テストクラスであることを示すテストクラスについてのビジュアルは何もありません。テストメソッドにカーソルを置くと、レコードボタンは無効のままです。

私が残したことはありますか?それ以外にUIテストを妨げる可能性のあるものはありますか?ありがとう!

+1

左のプロジェクトナビゲータで最も新しいファイルを選択すると、UITestターゲットのターゲットメンバーシップが実際にあることがわかります(右側のユーティリティペインで、ターゲットメンバーシップのチェック/チェックを外すことができます) )? –

+1

うわー、それはどのように迷惑な仕事だった!ターゲットのメンバーシップのチェックとチェックを外す:/ @Appleを修正してください – JJacquet

答えて

5

正しいXCTestCaseサブクラスファイルであることを確認してください。

しばらくの間リサーチした後、私はいつもエクステンションファイル(私はエクステンションファイルのフローを注文していました)の中にいたことがわかりました。したがって、メインのXCTestCaseサブクラスファイル( "YourAppUItests"など)を開いたときに、レコードテストボタンが有効になっています。

1

テストターゲットに対して正常にビルドできることを確認してください。

製品>テストに移動し、UIテストのテストケースが実行されていることを確認します(テストケースが空の場合は問題ありません)。また、Test Navigatorまたはアプリケーションターゲットスキームの下にテストケースが表示されている必要があります。

0

uiテストクラスに少なくとも1つのテスト機能があることを確認してください。例えば、-func testExample(){}のようにします。次に、関数がプレフィックスとしてtestを持つ場合にのみ関数をテストとして実行できるので、その関数に記録することができます。

2
  1. レコードボタンは、関数本体内でのみ有効になります。

  2. 関数名は、testで始まる必要があります。 testExample()のように。

  3. 機能の名前を変更した後、実行アイコンがガターに表示されるまで数秒間待機します。

これでレコードボタンが表示されます。

0

私は、あなたが記録したいテスト関数の中にカーソルを持っていなければならないことに気付きました。私はテスト機能の中を単にクリックして、録音ボタンを有効にしました。

関連する問題