(XCode 7)UI XCTestCaseのテストケースを試していて、1つのUIViewで問題に遭遇しました。 )。XCTestCase - iOS UIテスト - 多くのセルを持つUITableViewを扱う
アプリが正常に実行されている場合、表示されているセルのみが表示され、パフォーマンスの問題はまったく発生しません。 しかし、XCTestCaseを記録するコンテキスト内でアプリを実行してこの画面に移動すると、シミュレータがフリーズします。各セルが表示されているかのようにレンダリングされるためです。 手動でナビゲーションスクリプトを作成しようとすると、XCTestCaseを実行すると、この画面に移動した直後にテストケースが失敗し、「UIテストの失敗 - 更新されたスナップショットを取得できませんでした」というメッセージが表示されます。時間内に終了しません。
これは、テストフレームワークが表示されている画面のメタモデル全体を構築し、4000個以上の各セルをビューツリー階層に追加するという事実と関係していると思います。
これは、テスト用のコンテナにすべてのセルのレンダリングを完了するのに十分な時間がかかることを期待していましたが、これはうまくいきません。
回避策はありますか? UIツリーの階層構造などの一部をスキップするのはどういうことですか? 私の目標はこの画面のUIテストを書くことです。
テストコードを表示してください。 Thks – glm4
3つのラベルと2つのイメージを持つカスタムセルです。 [tableView indexPathsForVisibleRows]を使用して回避することができました。セルが表示されているかどうか、テスト用に[UITableViewCell new]が返されない場合は、使用されているセルは十分に単純ですが、これは私が探しているものではありません。 私は何とかユーザーインターフェイスのツリーを遅れて構築することを考えていますが、今は可能だとは思いません。 このような重大な副作用(この場合はすべてのセルの読み込みなど)を持たないように、これらのxc UIテストケースを構成できればいいでしょう。 –