現在取り組んでいるサンプルプロジェクトでAndroidAnnotations(2.5)を使用しています。
たとえば@EActivity
、クラスに注釈を付けることができます。これにより@ViewById
、@Click
コンパイル時のコードが生成されます。AndroidAnnotationsを利用したアプリケーションの単体テスト/機能テストを作成するにはどうすればよいのでしょうか。
この件についてのご意見をお待ちしております。
乾杯、
現在取り組んでいるサンプルプロジェクトでAndroidAnnotations(2.5)を使用しています。
たとえば@EActivity
、クラスに注釈を付けることができます。これにより@ViewById
、@Click
コンパイル時のコードが生成されます。AndroidAnnotationsを利用したアプリケーションの単体テスト/機能テストを作成するにはどうすればよいのでしょうか。
この件についてのご意見をお待ちしております。
乾杯、
私はここで同様の投稿に返信しました。
利用できるオプションがいくつかあります。もちろん、コードの事前生成をテストすることもできます。私が主張するのは、よりユニットテストのスタイルです。これにより、Javaコードを分離してテストする必要があります。できれば、生成されたコードを使用せずにテストしてください。
生成後にコードをテストすることもできます。AAによって生成されたMyActivity_クラスは、コンパイル時の直後にインスタンス化して、それに応じてテストできます。私はこれが統合テストスタイルに向かって進んでいると主張します。
テストしないよりもテストする方が常に良いと思いますが、統合テストの場合は、本番環境と同様の状況でハードウェアでテストする必要があります。これにより、アプリケーションが実際の状況でどのように動作するかを全体的に把握できます。したがって、統合テストでは、高レベルの「すべてがうまく機能している」テストを好みます。
RobolectricとRobotiumは、これら2つの取り組みに大いに役立ちます。Robolectricを使用すると、単体テストでアクティビティをインスタンス化できますが、Robotiumを使用すると、デバイスで直接セレンスタイルをテストできます。
要約すると、私は生成せずにコードを大量に単体テストしてから、すべてがうまく機能していることを確認するためにいくつかの軽い統合テストを行うことを好みます。