Junit-basic-usage
提供:Dev Guides
JUnit-基本的な使用法
ここで、JUnitを使用する段階的なプロセスを示す基本的な例を示します。
クラスを作成する
*C:\> JUNIT_WORKSPACE* に、テストするJavaクラス(MessageUtil.javaなど)を作成します
/*
* 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()をテストクラスに追加します。
メソッドtestPrintMessage()にAnnotaion @Testを追加します。
テスト条件を実装し、JUnitのassertEquals APIを使用して条件を確認します。
*C:\> JUNIT_WORKSPACE* にJavaクラスファイル名TestJunit.javaを作成します。
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());
}
}
テストランナークラスを作成する
TestRunner Javaクラスを作成します。
JUnitのJUnitCoreクラスのrunClassesメソッドを使用して、上記で作成したテストクラスのテストケースを実行します。
結果オブジェクトで実行されたテストケースの結果を取得します。
ResultオブジェクトのgetFailures()メソッドを使用して失敗を取得します。
ResultオブジェクトのwasSuccessful()メソッドを使用して成功結果を取得します。
*C:\> JUNIT_WORKSPACE* にTestRunner.javaという名前のJavaクラスファイルを作成して、テストケースを実行します。
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
テストが失敗するように、 C:\> JUNIT_WORKSPACE のTestJunitを更新します。 メッセージ文字列を変更します。
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