問題
非常に複雑なアプリケーションがあり、各テスト ケースでプロセス全体を実行して特定の画面に移動してテストする必要はありません。代わりに、状態が redux ストアに保存されている特定の画面にジャンプしたいだけです。
私が試し
たのは、特定の画面をロードする複数の初期状態を作成して直接テストできるようにし、デトックス テストの実行ごとに異なる mocha.opts をロードしてテスト ケースのこの部分を選択し、「react-native-config」を使用したことです。実行ごとに異なる状態をロードできるため、たとえば画面をロードするには、次のようにします。
- 現在テストしている画面のすべての詳細を含む redux ストアの initialState を作成します。
- -f フラグを指定して、このテスト ケースのみを実行する mocha.opts を作成します。
- 選択した ENVFILE に従ってどの初期状態をロードするかをストアに伝える .env.test.screenX ファイルを作成します。
- detox の各画面に異なる構成を作成して、detox CLI を介して正しい mocha opts をロードできるようにします。
- コマンド ENVFILE=env.test.screenX react-native run-ios を実行するたびに、この構成を使用してプロジェクトがビルドされ、デトックス テスト -c を実行できます。
質問
私の方法は非常に複雑で、各画面でテストを実行するために多くのセットアップとオーバーヘッドが必要になるため、同じ問題が発生したかどうか、どうすれば解決できるか疑問に思っていました。一般に、デトックスで反応するネイティブスレッドをどのように処理できますか?