Junit-test-framework

提供:Dev Guides
移動先:案内検索

JUnit-テストフレームワーク

JUnitは、開発者がJavaで単体テストを実装し、プログラミング速度を加速し、コードの品質を向上させるために使用する*回帰テストフレームワーク*です。 JUnit Frameworkは、次のいずれかと簡単に統合できます-

  • エクリプス
  • Ant
  • メーベン

JUnitテストフレームワークの機能

JUnitテストフレームワークは、次の重要な機能を提供します-

  • 備品
  • テストスイート
  • テストランナー
  • JUnitクラス

備品

  • フィクスチャー*は、テストを実行するためのベースラインとして使用される一連のオブジェクトの固定状態です。 テストフィクスチャの目的は、結果が再現可能になるようにテストが実行される既知の固定環境があることを確認することです。 それが含まれています-
  • setUp()メソッド。すべてのテスト呼び出しの前に実行されます。
  • tearDown()メソッド。すべてのテストメソッドの後に実行されます。

1つの例を確認しましょう-

import junit.framework.*;

public class JavaTest extends TestCase {
   protected int value1, value2;

  //assigning the values
   protected void setUp(){
      value1 = 3;
      value2 = 3;
   }

  //test method to add two values
   public void testAdd(){
      double result = value1 + value2;
      assertTrue(result == 6);
   }
}

テストスイート

テストスイートは、いくつかのユニットテストケースをバンドルし、それらを一緒に実行します。 JUnitでは、@ RunWithアノテーションと@Suiteアノテーションの両方を使用して、スイートテストを実行します。 以下に、TestJunit1およびTestJunit2テストクラスを使用する例を示します。

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

//JUnit Suite Test
@RunWith(Suite.class)

@Suite.SuiteClasses({
   TestJunit1.class ,TestJunit2.class
})

public class JunitTestSuite {
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestJunit1 {

   String message = "Robert";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");
      assertEquals(message, messageUtil.printMessage());
   }
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestJunit2 {

   String message = "Robert";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
}

テストランナー

テストランナーは、テストケースの実行に使用されます。 以下は、テストクラス TestJunit が既に存在することを前提とする例です。

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);

      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }

      System.out.println(result.wasSuccessful());
   }
}

JUnitクラス

JUnitクラスは重要なクラスで、JUnitの作成とテストに使用されます。 重要なクラスのいくつかは-

  • Assert -assertメソッドのセットが含まれています。
  • TestCase -複数のテストを実行するフィクスチャを定義するテストケースが含まれています。
  • TestResult -テストケースの実行結果を収集するメソッドが含まれています。