8

私が見つけた Robolectric の使用例はすべて Maven ベースのようです。Mavenを使用していない人はいますか? もしそうなら、あなたのIntelliJプロジェクトのセットアップを本当に理解したいです。

この投稿を読んだ上で

android-unit-test-approaches

純粋なjunit、robolectric、およびAndroidテストフレームワークテストを組み合わせて、Androidプロジェクトのユニットテストに段階的なアプローチをとることは賢明なようです。Maven の有無にかかわらずこれを行っている人がいる場合は、IntelliJ でプロジェクトをどのように構成したかについて少し理解したいと思います。

複数のプロジェクト/モジュールが必要になると思います。これに関する知恵はありがたく受け取った。

4

3 に答える 3

6

Maven は、物事をより便利にする優れたツールです。Maven なしで intellij の内部に Robolectric をインストールする方法をまだ探している場合は、以下に従ってください。

  1. Robolectric をダウンロード: https://oss.sonatype.org/index.html#nexus-search;quick~robolectric 最新の jar-with-dependencies.jar ファイルをダウンロードします。ダウンロードして、アプリ プロジェクトの libs/ ディレクトリに配置します。

  2. 次のファイル構造でアプリ ソースをセットアップします (これは、Robolectric テスト用にディレクトリをセットアップするために広く使用されている方法です)。

    ProjectName/  
        src/  
             main/  
                 java/  
                      com/  
                          example/  
                                  packageName/  
                                             javaClassesHere.java
             test/
                 java/
                      com/
                          example/
                                  packageName/
                                             javaTestClassesHere.java
    
  3. Intellij で、[ファイル] > [プロジェクト構造] に移動します。次に、左側の列で「モジュール」を選択します。
    中央の列で、アプリ モジュールを選択します。
    次に、右側の列で [ソース] タブをクリックします。
    ファイルブラウザで、「src」ディレクトリを見つけて展開します。次に、src 内の「main」ディレクトリと「test」ディレクトリの両方を展開します。「main」の下の「java」ディレクトリをクリックし、上部にある青い「Sources」ボタンをクリックします。次に、「test」の下の「java」ディレクトリの上部にある「Test Sources」ボタンをクリックします。
    また、メインの「src」ディレクトリをクリックし、青色のソース ボタンを選択解除して、青色ではなくします。

  4. 引き続きプロジェクト構造ウィンドウで、左側の列に移動し、[ライブラリ] をクリックします。
    中央の列に robolectric のエントリが既に表示されている場合は、それをクリックしてから、中央の列の上部にある赤い「-」記号をクリックします。
    中央の列の上にある緑色の「+」記号をクリックして、「Java」を選択します。ステップ 1 でダウンロードした robolectric jar を参照します (プロジェクトの libs/ ディレクトリにあるはずです。
    ウィンドウが表示され、どのモジュールで robolectric を使用するかを尋ねられます。使用するすべてのモジュールを選択します)。 robolectric を選択して OK をクリックし、Apply をクリックして OK をクリックし、Project Structure から抜け出します。

これで、Robolectric を使用したテストの準備がすべて整いました!

于 2013-06-13T14:19:41.550 に答える
3

Roboelectric を使用しているほとんどの人が Maven を使用している理由は、わざわざ Roboelectric を使用しているほとんどの人がテストに真剣に取り組んでいるためだと思います。

彼らはテストに多大な労力を費やす意欲があるため、通常は Jenkins や Hudson などの継続的インテグレーション (CI) サーバーで、自動化されたビルドにテストを含めたいと考える可能性が高くなります。

自動テストを行う場合は、適切なコマンドライン ビルドが必要です。Gradle は、Android 用の最新の公式コマンドライン ビルド ツールですが、まだ開発中であり、まだ広く採用されていません。実証済みのツールは Maven です。

多くの人が Maven を嫌いますが、Maven は仕事をやり遂げ、Ant に 1 マイルも勝っています。

そのため、Maven (または Gradle) を使用することは悪い考えではないかもしれません。IDE でテストを実行するだけでなく、テスト費用を大幅に節約できます。

于 2013-06-03T23:37:46.927 に答える