CodeGym/Java Course/モジュール 3/JUnit を使用した最初のテスト

JUnit を使用した最初のテスト

使用可能

JUnit フレームワークの接続

Java コードをテストするために、 JUnitと呼ばれる優れたフレームワークがあります。それは素晴らしく機能し、常に更新され、非常に人気があり、もちろん Intellij IDEA は非常に緊密に統合されています。

現在、誰もがこのフレームワークの 5 番目のバージョンであるJUnit 5を使用していますが、多くのプロジェクトではまだ 4 番目のバージョンを見つけることができます。大きな違いはありませんが、とにかく最新のものを見てみましょう。あなたが積極的にテストを書き始める頃には、私の選択を承認してくれると思います。

では、JUnit をプロジェクトに追加するにはどうすればよいでしょうか? Maven を学習すると、次のコードを pom.xml に追加するだけで簡単になります。

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
	<version>5.8.1</version>
	<scope>test</scope>
</dependency>

ちなみに、Maven にビルド段階 (テスト段階) でテストを実行させたい場合は、pom.xml にフラグメントを 1 つ追加する必要があります。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
	<version>2.19.1</version>
	<dependencies>
    	<dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>1.3.2</version>
    	</dependency>
	</dependencies>
</plugin>

@テストアノテーション

テストしたいクラスがあるとします。これを行うための最良の方法は何ですか? 抽象クラスをテストするのは難しいので、いくつかの例から始めましょう:)

加算、減算、乗算、除算の 4 つの基本演算を実行できるCalculatorクラスがあるとします。書いてみましょう:

class Calculator {
    	public int add(int a, int b) {
        	return a+b;
    	}

    	public int sub(int a, int b) {
        	return a-b;
    	}

    	public int mul (int a, int b) {
        	return a*b;
    	}

    	public int div(int a, int b) {
        	return a/b;
    	}
}

このクラスのメソッドをテストしたいと思います。将来的には何かが変更され、すべてが機能しなくなるかどうかはわかりません。どのようにテストを作成すればよいでしょうか?

別のクラスを作成する必要があります。これを行うには、通常、同じ名前を使用し、 Test サフィックス を追加します。メソッドごとに、少なくとも 1 つのテスト メソッドを追加する必要があります。例:

class CalculatorTest {
   	@Test
    	public void add() {
    	}
   	@Test
    	public void sub() {
        }
   	@Test
    	public void mul() {
    	}
   	@Test
    	public void div() {
    	}
}

以前はメソッド名がtest という単語で始まる必要がありましたが、現在は必要ありません。

JUnit テストの例

CalculatorTestクラスのメソッドをテストする例をいくつか書いてみましょう。

class CalculatorTest {
   	@Test
    	public void add() {
        	Calculator calc = new Calculator();
        	int result = calc.add(2, 3);
        	assertEquals(5, result);
    	}

   	@Test
    	public void sub() {
        	Calculator calc = new Calculator();
        	int result = calc.sub(10, 10);
        	assertEquals(0, result);
        }

   	@Test
    	public void mul() {
        	Calculator calc = new Calculator();
        	int result = calc.mul(-5, -3);
        	assertEquals(15, result);
    	}

   	@Test
    	public void div() {
        	Calculator calc = new Calculator();
        	int result = calc.div(2, 3);
        	assertEquals(0, result);
    	}
}

一般的な JUnit テストは次のようになります。興味深いことに、ここでは特別なメソッドassertEquals()が使用されています。名前に等しいという単語が示すように、渡されたパラメータを比較します。

assertEquals()に渡されたパラメータが等しくない場合、メソッドは例外をスローし、テストは失敗します。この例外によって、他のテストの実行が妨げられることはありません。

コメント
  • 人気
  • 新規
  • 古い
コメントを残すには、サインインしている必要があります
このページにはまだコメントがありません