| 開発メモ.COM |
|
TOP > テスト関連 > JUnit TestCase(サンプルソース)編EclipseでJUnit TestCase(サンプルソース)編
TestCaseを利用してJUnitのサンプルソース(Eclipseを使用)を見ながら説明します。
前提条件:スタブ編でJUnitスタブをEclipseで作成していることを前提に話を進めます。1. スタブ作成編 | 2.TestCase(サンプルソース)編■JUnitのテスト対象ソース
上記はJUnitテスト対象のソースで引数numberの数値が偶数の場合はfalse、奇数の場合はtrue、
10000以上の場合は例外(IllegalArgumentException)をスローするプログラムです。 ■JUnitのテストソースの作成
TestCaseを利用したテストプログラムを作成するためにJUnitスタブ編で作成した
EvalTestを利用してテストソースを追加していきます。 まずはisTest()メソッドに引数の値として100(偶数)を与えて期待値falseであることをテストします。
上記のソースは継承したjunit.framework.Assert(TestCaseにExtendsされている)の
assertFalseメソッドを使用して戻り値がfalseなことをテストしています。 ※テストの検証はAssertクラスのメソッドを使用します。 ■JUnitのテストソースの実行
JUnitテスト対象ソースのすべてをテストしていませんがとりあえずEclipseで実行してみます。
上記の赤丸部分「▼」(構成およびデバック)をクリック後に「デバック」> 「JUnitテスト」をクリックします。
上記の赤丸部分のようにEclipseで緑のラインが表示されれば期待した戻り値が取得でき
JUnitのテスト成功です。 ■JUnitのテストソースの実行失敗パターン
上記ではテストが成功した場合の例ですがJUnitで失敗した場合を説明します。
上記のソースは7(奇数)を引数にした場合はtrueを返すのに期待している戻り値がfalseのため
JUnitテストが失敗するパターンです。
上記の赤丸部分のように赤のラインが表示された場合、JUnitテストに失敗しています。
7(奇数)を引数にした場合はtrueを返すのでassertTrue()メソッドを使用すると成功します。 ■JUnitの例外テストソース
次に10000以上を引数に指定すると例外が発生するテストを行ないます。
上記を実行してEclipseで緑のラインが表示されればEvalクラスのテストソースは完成です。
eval.isOdd(20000);を実行したときに例外が発生しないとfail()メソッドを通るため 例外が発生していないことを検出できるようなります。 ■JUnitのテスト検証を行なうメソッド一覧(使用頻度の高いメソッドのみ)
今回のJUnitのテストではbooleanの比較、例外の対応しか行なっていませんがその他の
使用頻度の高いメソッド(Assertクラス)について一覧にしてみました。
(注1)プリミティブ型でObject.equals()で比較していると記述しているが
内部ではラッパクラスを使用して比較を行なっている。 例えばint型はInteger、byte型はByteにラップして比較を行なっている。 ■JUnitのテスト一括実行
JUnitを一括実行するためにはTestSuiteを使用する方法もあるがEclipseプラグインの
djUnitを使用すれば一括実行もでき、Eclipseでカバレージを計測できるため便利です。 EclipseでdjUnitの設定を参照してください。 ■関連書籍
JUnitに関連する書籍をいくつか紹介します。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|