2017-06-28 6 views
1

私は、反応ネイティブで書かれたアプリケーションの自動テストを作成したいと思います。私は論理(UIではない)だけをテストしたい。反応するネイティブアプリケーションのデバイステストで自動的に行う方法は?

Jestは、コンピュータで実行されるユニットテストや統合テストにも最適なソリューションです。しかし、私は実際のデバイスでアプリケーションをテストしたいと思います。私はいくつかのロジック、他のデバイスとの無線通信などUIを持たないコンポーネントがあります。私は特に、デバイスなしで行うことはできませんその通信をテストする必要があります。

このようなことを行うためのフレームワークまたは標準的なソリューションはありますか?

答えて

0

私は、ネイティブアプリケーションに対応するテストについての私の研究を行いました。

現在のところ、ReactNativeは、実デバイスでの統合(UIではなく)テストを実行できるプラットフォームに依存しないテストフレームワークを提供していません。実際にはRCTTestRunnerがありますが、機能は限られており、iOSデバイスでのみ機能します。

機能テスト

複数の機能テストフレームワークがあります。これらのテストは、主にUIコンポーネントに依存し、ユーザー対話のブラックボックステストに使用されます。そのために使用できる成熟クロスプラットフォームフレームワークは、CalabashAppiumです。 Appiumは、両方のプラットフォーム用の単一のツールであるため、優れたソリューションと思われます(カラバッシュは実際にiOSとAndroidの2つのプロジェクトに設定されています)。また、Appabiumは、CalabashがRubyのみをサポートしている場合、複数の言語(JavaScript、Python、Javaなど)をサポートしています。

有望に見えるが、React ref生成関数をハックで使用し、アプリケーションコードに複数の変更が必要なプロジェクトもある。Cavy

しかし、そのすべてはUIテストのみを目的としています。

Workaroud溶液

Iは(UIの変化に影響されることなく)アプリケーションのロジックをテストするために使用される溶液は以下の通りです。私は主なUIコンポーネントをテスト1に置き換えた特別なバージョンのアプリケーションを(新しいターゲットを作成して)作成しました。そのテストコンポーネントは、アプリケーションの上部で実行されます。テストを起動してログを表示するだけです。これらのログは、機能テストフレームワークによって読み取られ、解析され、レポートが生成されます。

関連する問題