androidはどのようにテストを開始しますか?

4484 ワード

理論実践.
なぜテストするのか
Android開発の過程で、テストの作成と実行は、より早く問題を見つけるのに役立ち、作成したコードに自信を持つことができます.
何を測ればいいの?
  • アプリケーションの特定の動作を検証する
  • は、所定の特定の動作に対して
  • を検証する.
  • 異なるAndroidデバイスでの一貫性をチェック
  • 検証ファイル読み書き動作
  • プライベートクラスライブラリの動作を検証
  • テストカテゴリ
  • JVMで実行されるテスト
  • ANDROIDデバイスまたはシミュレータで実行されるテスト.
  • は、後者よりも便利であるため、前者を優先的に使用する.

  • Getting Started with Testing
    Getting Started with Testing、エージェントのアドバイスがあれば直接リンクして原文を読みましょう.
    ユニットテスト環境の構成AndroidStudioのapp向けbuild.gradeの構成:
    dependencies {
        // Required -- JUnit 4 framework
        testCompile 'junit:junit:4.12'
        // Optional -- Mockito framework
        testCompile 'org.mockito:mockito-core:1.10.19'
    }

    実行ユニットテストのコンパイル
    テストコードは、デフォルトでsrc/test/javaディレクトリをコンパイルします.AndroidStudioから試験例を実行するには、次の3つのステップが必要である:1.Projectウィンドウを選択し、synchronize機能を選択してクリックします.2.レイアウト左側のBuild Variants画面をクリックし、test artifactをUnit Testsに切り替えます.3.Projectウィンドウを選択し、セルテストクラスまたはメソッドを選択し、右クリックして実行します.ディレクトリ全体を実行する場合は、ディレクトリを右クリックして実行します.Android Studioでは、下のRunウィンドウにセルテストの仕組みが表示されます.
    Instrumentedテスト環境の構成
    Instrumentedテストは、Androidデバイスまたはシミュレータ上でテストを実行します.これらのテストは、アプリケーションのInstrumentationのようなContextの情報を取得することができる.
    通常、Instrumentedテストは次のように使用されます.
  • ユニットテスト
  • ユーザインタフェース(UI)テスト
  • コンポーネント間統合テスト
  • Instrumentedテストを特定のニーズに合わせてカスタマイズする方法については、次の投稿を参照してください.
  • Building Instrumented Unit Tests-シミュレーションオブジェクトを使用してより複雑なセルテストを容易に埋め込むことができないAndroid依存性を構築します.
  • Automating User Interface Tests-テストを作成し、ユーザーインタフェースの正しい動作が単一のアプリケーション内または複数のアプリケーションにまたがるインタラクティブなユーザーに対してインタラクティブであることを確認します.
  • Testing App Component Integrations-ServiceやContent Providerなどのユーザーインタフェースと直接対話しないコンポーネントの動作を確認します.
  • Android Studioプロジェクトでは、src/androidTest/javaディレクトリの下でテストコードを記述する必要があります.
    Androidテストサポートライブラリをダウンロードします.APIを提供し、アプリケーションが実行するInstrumentedテストコードを迅速に確立し、実行できます.テストサポートライブラリには、Junit 4 Test Runner(Android JUnitRunner)と、UIテストを提供するインタフェース(EspressoとUI Automator)が含まれています.ライブラリのインストール方法については、サポートライブラリの設定のテストを参照してください.
    Androidテストは、プロジェクトで使用されるテスト実行に依存し、サポートライブラリが提供するルールのAPIをテストする必要があります.テスト開発をシンプル化するために、Hamcrestライブラリを含めることをお勧めします.Hamcrestマッチングを使用したAPIのより柔軟な断言を作成できます.
    Androidアプリケーションモジュールのbuild.gradleファイルで、依存を指定します.
    dependencies {
        androidTestCompile 'com.android.support:support-annotations:23.0.1'
        androidTestCompile 'com.android.support.test:runner:0.4.1'
        androidTestCompile 'com.android.support.test:rules:0.4.1'
        // Optional -- Hamcrest library
        androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
        // Optional -- UI testing with Espresso
        androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
        // Optional -- UI testing with UI Automator
        androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
    }

    InstrumentedテストのコンパイルAndroid StudioGradleプラグイン、デフォルトのコンパイルディレクトリsrc/androidTest/javaの下のテストコード.コンパイルは、test apkおよびproduction apkを生成し、両方を接続されたデバイスまたはシミュレータにインストールし、テストを実行する.
    プロジェクトのデフォルトテストAndroidJUnitRunnerとしてRunnerが指定されていることを確認し、appbuild.gradleファイルに次の設定を追加します.
    android {
        defaultConfig {
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
    }
    Android Studioで実行:
  • 左側のBuild Variantsタブを開き、タイプをAndroid Instrumentation Testsに選択します.
  • プロジェクトウィンドウで、メータテストクラスまたはメソッドを選択し、右クリックしてAndroidテスト構成を使用して実行します.実行するディレクトリのすべてのテストの使用例で、ディレクトリを選択し、右クリックして「≪テストの実行|Run Test|emdw≫」を押します.
  • Gradleコマンドを使用して実行します.connectedAndroidTest(またはcAT)タスクを呼び出します.
    ./gradlew cAT