公式サイト(http://junit.org/)から以下2つのjarをダウンロードする。(今回はJUnit4を使用)
JUnitでテストを実施してみる。
まずテスト対象クラス(Sample.java)を作成する。文字列にカンマを付加するメソッドを1つ作成。
public class Sample{
public String appendComma(String value){
return value + ",";
}
}
次にSample.javaをテストするクラス(SampleTest.java)を作成する。ポイントは以下2つ。
import static org.junit.Assert.*;
import org.junit.Test;
public class SampleTest{
@Test
public void testAppendComma(){
Sample sample = new Sample();
String retValue = sample.appendComma("abc");
assertEquals("abc,", retValue);
}
}
なおorg.junit.Assertには次のようなstaticメソッドが用意されている。 何度も使うので、「org.junit.Assert.*」をstaticインポートしておくと便利。
メソッド | 説明 |
---|---|
assertEquals | 2つのオブジェクトのequals比較がtrueか |
assertNotEquals | 2つのオブジェクトのequals比較がfalseか |
assertNull | オブジェクトがnullかどうか |
assertNotNull | オブジェクトがnullでないかどうか |
assertTrue | 状態がtrueか |
assertFalse | 状態がfalseか |
assertSame | 2つのオブジェクトの参照が同一か |
assertNotSame | 2つのオブジェクトの参照が同一でないか |
assertArrayEquals | 2つの配列が同じかどうか |
※JavaDocはこちら(http://junit.org/junit4/javadoc/latest/index.html)
コンパイルして実行してみる。
javac -cp .;junit-4.12.jar;hamcrest-core-1.3.jar *.java
実行
java -cp .;junit-4.12.jar;hamcrest-core-1.3.jar org.junit.runner.JUnitCore SampleTest
テストに成功した場合は、OKが出力される。
JUnit version 4.12
.
Time: 0.006
OK (1 test)
テストに失敗した場合は以下のように出力される。
JUnit version 4.12
.E
Time: 0.008
There was 1 failure:
1) evaluatesExpression(SampleTest)
org.junit.ComparisonFailure: expected:<abc[]> but was:<abc[,]>
at org.junit.Assert.assertEquals(Assert.java:115)
at org.junit.Assert.assertEquals(Assert.java:144)
~省略~
FAILURES!!!
Tests run: 1, Failures: 1
なお「テストに失敗」というのは、結果が想定外のことを意味する。