JUnit-基本的な使用法
ここで、JUnitを使用するステップバイステップのプロセスを示す基本的な例を示します。
クラスを作成する
テストするJavaクラスを作成します。たとえば、MessageUtil.javaを C:\>JUNIT_WORKSPACE
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
//Constructor
//@param message to be printed
public MessageUtil(String message){
this.message = message;
}
// prints the message
public String printMessage(){
System.out.println(message);
return message;
}
}
テストケースクラスを作成する
- TestJunit.javaなどのJavaテストクラスを作成します。
- テストメソッドtestPrintMessage()をテストクラスに追加します。
- Annotaion @TestをメソッドtestPrintMessage()に追加します。
- テスト条件を実装し、JUnitのassertEqualsAPIを使用して条件を確認します。
でJavaクラスファイル名TestJunit.javaを作成します C:\>JUNIT_WORKSPACE。
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestJunit {
String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
assertEquals(message,messageUtil.printMessage());
}
}
テストランナークラスを作成する
- TestRunnerJavaクラスを作成します。
- JUnitのJUnitCoreクラスのrunClassesメソッドを使用して、上記で作成したテストクラスのテストケースを実行します。
- 結果オブジェクトで実行されたテストケースの結果を取得します。
- ResultオブジェクトのgetFailures()メソッドを使用して失敗を取得します。
- ResultオブジェクトのwasSuccessful()メソッドを使用して成功結果を取得します。
TestRunner.javaという名前のJavaクラスファイルをで作成します。 C:\>JUNIT_WORKSPACE テストケースを実行します。
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());
}
}
javacを使用して、MessageUtil、テストケース、およびテストランナークラスをコンパイルします。
C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java
次に、提供されたテストケースクラスで定義されたテストケースを実行するテストランナーを実行します。
C:\JUNIT_WORKSPACE>java TestRunner
出力を確認します。
Hello World
true
次に、TestJunitを更新します C:\>JUNIT_WORKSPACEテストが失敗するように。メッセージ文字列を変更します。
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestJunit {
String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
message = "New Word";
assertEquals(message,messageUtil.printMessage());
}
}
残りのクラスはそのままにして、同じテストランナーを実行してみましょう。
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());
}
}
次に、提供されたテストケースクラスで定義されたテストケースを実行するテストランナーを実行します。
C:\JUNIT_WORKSPACE>java TestRunner
出力を確認します。
Hello World
testPrintMessage(TestJunit): expected:<[New Wor]d> but was:<[Hello Worl]d>
false