AndroidStudioでUnitTestを行う

androidunittest_08_2

こんにちは。初めましての方は初めまして、そうでない方は初めません。エニセンスのAndroidエンジニアの水野です。
今回と次回の2回に渡ってテストの自動化についてお話致します。

Androidアプリのエンジニアの皆様は、普段テストをどのように行っているのでしょうか?
おそらく殆どの方は実機やエミュレータで手動でテストを行っていると思います。

今回はそんな面倒なテストを先日行われたGoogleI/OのCodeLabの記事に添って自動化にチャレンジしてみたいと思います。

始める前に

今回紹介するテストを行う際に必要なものは、

・AndroidStudio 1.2以上

です。

ダウンロード:Download Android Studio and SDK Tools

導入

まず初めに、Gladleでモジュールを導入しましょう。

JUnit4がテストのモジュールです。

次に生成されたテストを格納するディレクトリを作成します。
src以下のtest内にjavaディレクトリを作成しましょう。

androidunittest_01

Unitテスト

準備が整ったところで、実際にUnitテストを始めていきましょう。
Build VariantsのTest Artifactで、Unit Testsを選択します。

androidunittest_02

まずは、簡単なテスト用クラスを作成してみます。
今回は加算と減算を行うだけのクラスを作成します。

次にクラスの宣言部分を右クリックし、

Go To > Test

を選択して新しいテストを作成しましょう。

androidunittest_03_2

ダイアログが開いたら、Testing libralyでJunit4を選択します。
GenerateのsetUp/@Beforeにチェックを入れて、テストを生成したいメソッドにもチェックを入れます。

androidunittest_04

OKを選択すると、テストが作成されます。
先ほど作成したディレクトリ内にテストが作成されています。

androidunittest_05

作成されたクラスにテストを記述します。

ここまできてようやくテストの準備が完了です。
実際に動かしてみましょう。

Run > CalculatorTestでテストを開始します。

androidunittest_06

androidunittest_08_2

substractメソッドが予想していた数値でないものがを返ってきたため、AssertionErrorが発生しました。

Calculatorクラスの記述を変更してみます。

それではもう一度実行してみます。結果はどうでしょうか?

androidunittest_08

正常に終了しました。

一度テストを作ってしまえば、アップデートの度に実機でのテスト時間を減らすことが出来、またPC上で動作しますので高速にテストを行うことが出来ます。
是非この機会にUnitテストを導入してみては如何でしょうか?

今回はここまで。次回は実機を用いたUIテストをご紹介します!

新アプリ事前登録受付中!!

今月のオススメアプリ♪

stache