JUnitによるユニットテスト †JUnitによるユニットテストの方法を記載する。 (1) 前準備 1.1 junit.jar をビルドパスに追加する。
1.4 ファイル構成
(2) テスト対象クラス仕様の確認 テスト対象となるクラスの仕様は以下の通りとする。
(3) 空のテスト対象クラスを作成する package util;
public class MyMath {
/*
* 足し算
*/
public static int add(int a, int b){
return 0;
}
/*
* 引き算
*/
public static int sub(int a, int b){
return 0;
}
/*
* 掛け算
*/
public static int mul(int a, int b){
return 0;
}
/*
* 割り算
*/
public static int div(int a, int b){
return 0;
}
}
※エラー確認を行う為に、とりあえず全て0を返すように。 (4) テストコードの作成と対象クラスの修正 4.1 テストクラスの作成 1. [MyMath.javaを右クリック] -> [新規] -> [JUnitテスト・ケース] 4.2 テストクラスを下記のようにコーディングする。 package util;
import junit.framework.TestCase;
/*
* MyMathのテストケース
*/
public class MyMathTest extends TestCase {
public MyMathTest(String arg0) {
super(arg0);
}
/**
* 足し算のテスト
*/
public void testAdd() {
int res1 = MyMath.add(1,2);
assertEquals(3, res1);
int res2 = MyMath.add(0,0);
assertEquals(0, res2);
int res3 = MyMath.add(1,-4);
assertEquals(-3, res3);
}
/**
* 引き算のテスト
*/
public void testSub() {
int res1 = MyMath.sub(1,2);
assertEquals(-1, res1);
int res2 = MyMath.sub(0,0);
assertEquals(0, res2);
int res3 = MyMath.sub(1,-4);
assertEquals(5, res3);
}
/**
* 掛け算のテスト
*/
public void testMul() {
int res1 = MyMath.mul(1,2);
assertEquals(2, res1);
int res2 = MyMath.mul(0,0);
assertEquals(0, res2);
int res3 = MyMath.mul(1,-4);
assertEquals(-4, res3);
int res4 = MyMath.mul(-2,-4);
assertEquals(8, res4);
}
/**
* 割り算のテスト
*/
public void testDiv() {
int res1 = MyMath.div(6,2);
assertEquals(3, res1);
int res2 = MyMath.div(10,6);
assertEquals(1, res2);
int res3 = MyMath.div(0,10);
assertEquals(0, res3);
int res4 = MyMath.div(10,0);
assertEquals(0, res4);
}
}
(5) テストの実行 5.1 とりあえず一回テストを実行してみる。
5.2 MyMathの各メソッドを下記のように実装して、再度テストを実行。 package util;
public class MyMath {
/*
* 足し算
*/
public static int add(int a, int b){
return a + b;
}
/*
* 引き算
*/
public static int sub(int a, int b){
return a - b;
}
/*
* 掛け算
*/
public static int mul(int a, int b){
return a * b;
}
/*
* 割り算
*/
public static int div(int a, int b){
return a / b;
}
}
5.3 testDivでコケている事がわかるので、障害トレースに表示された情報を元に、 /*
* 割り算
*/
public static int div(int a, int b){
if (b == 0){
return 0;
} else {
return a / b;
}
}
エラーがなくなった。 |