- PR -

JUnitを用いたテストの自動化について

1
投稿者投稿内容
きよ
常連さん
会議室デビュー日: 2002/03/27
投稿数: 21
投稿日時: 2002-03-27 23:23
こんばんは。
高橋です。

JUnitについて教えてください。
JUnitでは各種Assertメソッドを利用することで、
テスト結果の判定を自動化していますが、
テスト対象のメソッドが返り値を返さず、
実行してもテスト対象オブジェクトの内部状態が変わらないような
場合はどのようにしてテスト結果を自動判定したらよいのでしょうか
例えば、ファイルへメッセージを書き込むメソッドをテストしたい場合、
現状ではファイルに正しく書き込まれているか目視で確認しております。
何か良いアイデアがありましたら、教えてください。

以上です。
miki
大ベテラン
会議室デビュー日: 2001/09/21
投稿数: 174
お住まい・勤務地: 東京都八王子市
投稿日時: 2002-03-28 00:53
>例えば、ファイルへメッセージを書き込むメソッドをテストしたい場合、
>現状ではファイルに正しく書き込まれているか目視で確認しております。

その目視の部分を自動化することを考えてはどうでしょう。
いろいろなレベルのテストがあり得ると思います。

・ただ正常終了するのを確認する。
・ファイルの有無だけを確認する。
・ファイルの実サイズを計算上のサイズと比較する。
・理想の結果のファイルを用意しておき、テスト結果のファイルと比較する。
・ファイルに特定の部分文字列が含まれていることを確認する。
・ファイルが特定のパタンに従っていることを確認する。
・すでにJUnitをパスした(このファイル専用の)パーサを利用する。

ファイルフォーマットが単純ならば、テスト用パーサを書くことも考えられますが、できればそれは避けたいですね。ファイルの内容の確認には、ファイルがXMLなら既存のライブラリが使えるでしょうし、CSVや単純なテキストなら正規表現ライブラリも使えると思います。
きよ
常連さん
会議室デビュー日: 2002/03/27
投稿数: 21
投稿日時: 2002-03-28 04:57
mikiさん、返信ありがとうございます。
おっしゃるとおり、目視の部分の自動化を
考えればよく、様々なレベルの確認方法が
ありますね。
>理想の結果のファイルを用意しておき、テスト結果のファイルと比較する。
今回のクラスではこの方法を採用してみようと
思います。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)