Junit4のテストをコンソールで実行する
用意したもの
- junit-4.13.jar
- hamcrest-core-1.3.jar
- sampleプロジェクト
ディレクトリ構成
root/ ┗ sample ┣ Add.java ┗ AddTest.java
Add.java
package sample; public class Add { public int add(int a, int b){ return a + b; } }
AddTest.java
package sample; import static org.junit.Assert.*; public class AddTest { @org.junit.Test public void Test01(){ Add add = new Add(); assertEquals(5, add.add(2,3)); } }
テスト実行
コンパイル (カレントディレクトリ:root/sample)
クラスパスにjunitへのパスを指定しないとコンパイルできない.
javac -cp /path/to/junit-4.13.jar Add.java AddTest.java
テスト実行 (カレントディレクトリ:root/)
クラスパスにカレントディレクトリ,junit, hamcrestへのパスを指定しないと実行できない.
java -cp .:/path/to/junit-4.13.jar:/path/to/hamcrest-core-1.3.jar org.junit.runner.JUnitCore sample.AddTest
出力
JUnit version 4.13 . Time: 0.01 OK (1 test)
エラーが出るとき
何かがおかしいと,以下のようなエラーが出力される.
java.lang.IllegalArgumentException: Could not find class [AddTest]
Exception in thread "main" java.lang.NoClassDefFoundError: sample/AddTest (wrong name: AddTest)
確認する部分は以下.