web-dev-qa-db-ja.com

Androidユニットテストのベストプラクティス?

私はモバイルAndroidアプリを開発しています。Androidユニットテストに使用される最も一般的なライブラリ/フレームワークは何ですか?ほとんどのビジネスロジック、データベースはテスト、WebサービステストはすべてJUnitを使用して実行できます。

ただし、UI、UIワークフローなどをテストするための最良のアプローチは何ですか?たとえば、AndroidアプリがWebブラウザーを正常に起動するかどうかをテストするにはどうすればよいですか?または、ボタン、特定のものが正常に押されたかどうか、または画像が正常に読み込まれたかどうかを確認するにはどうすればよいですか?

17
codeshark

ユニットテストには JUnit を使用し、インストルメンテーションテストには Robolectric を使用します。

この記事 Robolectricを使用したHelloWorldの例を示します

最近、私はAndroid using Arquillian Droidium での統合テストについて研究しています。

REST APIを使用するコードをテストする場合は、 WireMock でモックできます。このライブラリを使用すると、REST APIをコードで作成するか、モックHTTPサーバーを独自のマシンにデプロイして、独自のモックマッピングを設定します。

REST APIモックの場合は、 Mockable.io を使用することもお勧めします。

11
Héctor

2017回答

Androidドキュメントには テストのベストプラクティス というトピックシリーズがあります。そこから始めます。

ローカル単体テストとインストルメント化テストは、新しいプロジェクトを開始するときにデフォルトで設定されます。与えられた一般的なアドバイスは、可能な限りローカルユニットテストを使用することです。 Android APIを使用するオブジェクトをモックする必要がある場合があります。これらの場合は ドキュメント推奨 使用 Mockito です。UIテスト(インストルメントテスト)の場合)実行する必要があります、Androidは Espresso フレームワークを提供します。 ExerciserMonkey (ストレステスト用)のような他のツールも利用できます)および I Automator (複数のアプリの相互作用をテストするため)。

この回答を参照 Android Studioでテストを開始する方法については。

8
Suragch

Android Developers Webサイトに 自動ユーザーインターフェイステストのガイド があります。試したことはありませんが、探していたもののようです。

1