まず、JUnitの依存関係をプロジェクトに追加します。Mavenを使用している場合は、pom.xml
ファイルに以下の依存関係を追加します。
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
次に、テストクラスを作成します。例として、以下のようなメソッドがあるクラスをテストするとします。
public class Calculator {
public int divide(int dividend, int divisor) {
if (divisor == 0) {
throw new IllegalArgumentException("Divisor cannot be zero");
}
return dividend / divisor;
}
}
このクラスのdivide
メソッドはゼロでの除算を防ぐために例外をスローします。
テストクラスでは、assertThat
メソッドを使用して例外がスローされることを確認します。以下は、このテストの例です。
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
public class CalculatorTest {
private final Calculator calculator = new Calculator();
@Test
void divide_DivisorZero_ThrowsIllegalArgumentException() {
assertThrows(IllegalArgumentException.class, () -> calculator.divide(10, 0));
}
@Test
void divide_DivisorNonZero_DoesNotThrowException() {
assertThat(() -> calculator.divide(10, 2), instanceOf(IllegalArgumentException.class));
}
}
最初のテストでは、assertThrows
メソッドを使用して、IllegalArgumentException
がスローされることを確認しています。もしスローされない場合、テストは失敗します。
2番目のテストでは、assertThat
メソッドを使用して、IllegalArgumentException
がスローされないことを確認しています。もしスローされた場合、テストは失敗します。
このようにして、assertThat
メソッドを使用してコードが例外をスローすることをテストできます。これにより、例外処理が正しく実装されているかどうかを確認することができます。
このブログ投稿では、assertThat
メソッドを使用してコードが例外をスローすることを確認する方法を解説しました。これにより、テストを通じて例外処理の正確性を確認できます。