LoginSignup
39
29

More than 1 year has passed since last update.

【Java】Unit Testを行う

Last updated at Posted at 2019-05-09

はじめに

統合開発環境であるIntelliJ IDEAJUnit Testを行ったときの手順をまとめました.
intellij-idea-java-ide_orig.jpg

JUnit Testは,作ったプログラムがどんな場合でもきちんと動くかどうかを検証するテストのことです.

例えば,「1〜9までの好きな数字を入力してください!」という内容でint型の変数用意して標準入力待ってても,ユーザが文字列(String型)入力しようものならエラー出ますよね!

でもコンパイルした時にはエラーはでなかった...なんて経験ありますよね

入力データによってどうなるかわからないようなコードを前もってテストしておこう!というのがJUnit Testなわけです.

手順

1. Junit testしたいJavaファイルを用意

Screen Shot 2019-05-09 at 11.19.13.png
今回はこのMain.javaPersonクラスに対してJUnit Testを行います.

2. テスト用のディレクトリを作成

Screen Shot 2019-05-09 at 9.56.23.png
現在作業中のプロジェクトファイル.imlファイルを選択した状態で右クリック

New --> Directory

Screen Shot 2019-05-09 at 9.56.44.png

この例ではディレクトリ名をTestとします

3. 作ったディレクトリをTests用に設定

 File-->Project Structure

Screen Shot 2019-05-09 at 9.57.05.png

 Modules-->Test(さっき作ったテスト用ディレクトリ)-->右クリック-->Tests

Screen Shot 2019-05-09 at 9.57.24.png

Testsディレクトリに設定されると下図左のようにテスト用ディレクトリの色が緑色に変わります.
Screen Shot 2019-05-09 at 9.58.06.png

4. テスト用クラスを作成

テストしたいクラス(この例ではPerson)にカーソルを置いた状態でオレンジの電球マークを選択

Create Test
Screen Shot 2019-05-09 at 11.45.33.png

 Testing library --> JUnit4(またはJUnit5)を選択

Screen Shot 2019-05-09 at 11.46.05.png

すると,作ったテスト用ディレクトリの中に[選んだクラス]Testと書かれたテスト用クラスが生成されます

この例ではPersonTestクラスが生成されます.

5. テスト用クラスを編集

Screen Shot 2019-05-09 at 10.17.10.png

このように編集しました.

assertEquals(期待される結果 , クラス.関数)

のように記述します.

つまり,この例ではPerson.name()の返り値として文字列Shutoを期待してることになります.

6. 実行

Screen Shot 2019-05-09 at 10.18.26.png
Screen Shot 2019-05-09 at 10.23.30.png

Run 'PersonTest'

Screen Shot 2019-05-09 at 13.43.23.png

期待された結果になれば,緑色のラインが一瞬出てTests passedが出てきます

では,あえて期待される結果をShuto--->helloに変えて再テストしてみます

Screen Shot 2019-05-09 at 10.27.02.png

期待してた結果と実際に返ってきた結果が異なったのでTests fialedとなりました(わざとさせたというべきか).

 Expected: 期待される値
 Actual:実際に返ってきた値

このようにしてJUnit Testは行われます.

ちなみに,下図のように,既にテストが成功した部分は緑色に,まだテストしてなかったり失敗した部分は赤色で示されます.

Screen Shot 2019-05-09 at 14.25.41.png

こんな感じで作ったコードをテストして逐次回改善してく流れになるかと思います.

おわりに

今回は作ったJavaクラスに対してJUnit Testを行いました.

一度やり方覚えてしまえば非常に簡単にテストできるかと思います.

読んでいただきありがとうございました.

39
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
29