Android開発でもテストを書こう


久しぶりにAndroidのアプリを作りました。
こんにちはOGISHIです。

最近はテストコードも一緒に書いて品質を上げていきましょうという流れで仕事をしていますが、おかげでバグが極小になったり、仕様変更があってもデグレーションが防げたり、リリースも心穏やかにできたりと良い事ずくめです。

今回作ったアプリは一般公開向けではなくテスト用途だったため、残念ながらテストコードを書く余裕がありませんでしたが、目的は達して一段落したので、改めてテストコードを書いていこうと思います。

Android Studio でプロジェクトを作ると自動的にテスト用の環境と雛形のテストファイルを作ってくれます。

まずはいつものように公式サイト(アプリをテストする)から情報を得ますが、耳慣れない言葉が多かったので、じっくり取り掛かる必要がありました。

Androidのテストは2種類に分類できます。

1)ローカル単体テスト
2)インストルメンテーションテスト

簡単にいうと、開発マシン上でテストするか、Android端末上でテストするかの違いです。
純粋なロジッククラスの単体テストや、Androidフレームワークを使うけどモックで代用できるなら”ローカル単体テスト”を行えます。
実際はAndroid端末上でフレームワークを使用したコードやUIをテストしたいことが多いと思いますので、インストルメンテーションテストを行うことのほうが多いでしょう。

実際にインストルメンテーションを1つ書いてみたいと思いますが、それはまた次回。今回はテストを実行するところまでやってみましょう。

準備

新しくプロジェクトを作ります。何でも良いのですが、ここでは「下部ナビゲーション・アクティビティ」を選びます。

プロジェクトの情報を適当に入力してプロジェクトの作成を完了してください。最初にGradleが初期状態の準備をしますのでそれまで待ちます。

 

テストする

画面右のプロジェクト app を開いて行くと、java の下にパッケージ名が表示されます。この中から androidTest と説明の追加フォルダを開きます。例では ExampleInstrumentedTest が1つあるはずです。画面上で選択状態になっているのが「インストルメンテーションテスト」その下が「ローカル単体テスト」のパッケージでテスト分類ごとに使い分けます。

 

テストを実行するのは簡単で、このテストクラスまたはそれを含むフォルダを選択して

右クリック→ 実行

するだけです。プログラムがビルドされ、実際の端末またはエミュレータにインストールされたあとテストが実行されます。テスト結果は画面下部の実行結果に表示されます。

テストコードをどこに書けばよいかとテスト方法がわかりました。次回は実際にテストコードを書いていきます。

テストコードを書くためにはプログラムの動作の仕組みを知る必要があります。特にAndroidはライフサイクルで動作しアクティビティと呼ばれる画面ごとに寿命がありますので、正しい知識がないとうまくプログラムが作れません。テストを書けるということはそれだけでプログラムの仕組みに詳しいということを表しています。逆にテストを書こうとすると仕組みに詳しくなければなりませんのでより深く勉強するきっかけにもなるでしょう。

ではまた次回

 

  お問い合わせ  - お気軽にお問い合わせください - 

  • 株式会社 パブリックリレーションズ
  • 〒064-0807
  • 北海道札幌市中央区南7条西1丁目13番地 弘安ビル5階
メールでのお問い合わせはこちら

  • この記事をシェアする