LoginSignup
98
136

More than 5 years have passed since last update.

JUnit 入門

Last updated at Posted at 2015-03-20

概要

Javaプログラムの単体テストを行うためのツール(フレームワーク)

目的

  • 不具合を発見する
  • 仕事が完了したことを確認する
  • システムをより優れたものに改良する

利用手順(テストクラスの作成と実行)

(Eclipseで利用する)
1. JUnitプラグインをインストール
※Eclipse JDTには標準で入っている
2. テストコードを書きたいソースコードを右クリックして、[新規] > [JUnitテストケース]を選択。⇒テストケース作成
3. 実行する時は「プロジェクト・エクスプローラー」からテストクラスを選択して右クリック→「実行」→「実行の構成」でJUnitを選択して実行する

Eclipseでは,Eclipse JUnitプラグインを利用すると簡単にテストケースが作成できる。

利用例

(例1)

↓↓テストコードを書きたいソースコード

Sample.java
public class sample {
    public static int num() {
     return 10;
    }
}

↓↓テストを実施するクラス

SampleTest.java
import static org.junit.Assert.*;
import org.junit.Test;

public class SampleTest {

   @Test
   public void testNum() {
      assertEquals(10, sample.num());
      assertEquals("10じゃない!!",10, sample.num());
   }
}

Sample.javaのnumメソッドを使用したら「10」が返ってくるかどうかのテストを行っています。
↓は10でなければエラーになる

assertEquals(10, sample.num());

↓は10でなければ「10じゃない!!」というメッセージが出力されてエラーになる

assertEquals("10じゃない!!",10, sample.num());

結果

テストはassertEqualsメソッドで期待値と結果値をチェックして判定を行う。判定の結果(エラーの場合)メッセージを出力することもできる。

ルール

  1. テストクラスの命名規則「XxxTest.java」
  2. テストメソッドの命名規則「testXxx()」
  3. テストメソッドの前に「@Test」を付ける
  4. テストメソッドは「引数なし」+「返り値なし」
  5. テストメソッドに 「assertEquals("error時の文",期待値,実測値)」

補足

JUnit = Javaプログラムの単体テストを行うためのツール

単体テストとは…

作成したコードが要件を満たしているか、確認するためのもの
組み立ててしまってから不具合が見つかった場合、どの「部品」が悪いのか探し当てるには、多くの時間と労力が必要
= 不具合の発見に有効

XP(eXtreme Programming) 開発方法論

設計仕様を単体テストの形で与えることを唱えています。
設計時に単体テストを作成し、単体テストをパスする=完成とする
単体テストはテストプログラムの形で与えます。
テストプログラムを作成し、自動化テストを行うことが望ましい
1. 何度でも試せる
テストプログラムは、一度書いてしまえば、手軽に何度でもテストを行うことができます。
2. 使いまわしがきく
似たような機能のテストを行うとき、テストプログラムのコードを再利用することにより、より短時間にテストを完成させることができます。

98
136
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
98
136