4.10 単体テストを実行したときの判定結果
単体テストを実行したときの判定結果についての説明です。
単体テスト支援には,判定結果として次の2種類の判定方法があります。単体テスト支援では,デフォルトでは自動判定による判定結果が表示されます。
-
自動判定
テスト実行時に,データ項目の値と期待値を比較して自動で判定する方法です。
-
手動判定
テスト結果を参照し,テストケースごとに判定結果を設定する方法です。
自動判定
テストデータとして設定したデータ項目ごとに,設定した期待値と実行結果の値を比較して,単体テストの実行時に判定します。テストケース単位の結果は,そのテストケースに含まれるすべてのテストデータの自動判定の結果を基に判定します。
判定条件 |
判定結果 |
---|---|
期待値との比較結果がOKとなるデータ項目を1つ以上含み,かつ期待値との比較結果がNGおよびエラーになるデータ項目がない。 |
OK |
期待値との比較結果がNGになるデータ項目を1つ以上含む。さらにエラーになるデータ項目もない。 |
NG |
すべてのデータ項目で,期待値との比較結果が未判定となる。 |
未判定 |
単体テスト支援が生成するTDコマンドにエラーがあり,テストプログラムを実行できなかった。または,テスト実行中にCOBOL2002の実行時エラーが発生し,結果を得られなかった。 |
エラー |
単体テストの実行が完了していれば,期待値の設定を1つ以上設定したテストケースは必ずOKかNGの判定になります。逆に,期待値の設定がない場合は未判定になります。
また,次の例のように中断点やプログラム終了時の期待値の判定が1つも実行されないでプログラムが終了した場合は,判定結果は未判定になります。
自動判定では,テストデータとして期待値を設定します。設定方法については,「4.4.2 プログラム終了時の値を設定する」または「4.4.5 中断点のテストデータを設定する」を参照してください。
判定結果がエラーになるのは,次のどちらかの要因でテストプログラムを実行できなかった場合です。
-
テストデータとして設定した値の代入や期待値の指定が間違っている。
-
COBOL2002の実行時エラーが起こる。
この場合,[メッセージ]画面にKEDL0031T-Wのエラーメッセージが出力されます。値の代入や期待値の指定が間違っている場合は,KEDL0031T-Wのあとに,KCCCで始まるCOBOL2002のテストデバッガのメッセージが出力されます。テストデバッガのメッセージに従って,値の代入や期待値の指定を見直し,正しい指定に修正してください。
また,テストケースに値の代入や期待値の指定が間違って設定されているために該当するエラーが複数存在した場合,1回の「テストケースの実行」ですべてのエラーが出力されない場合があります。この場合は,KCCCではじまるCOBOL2002のテストデバッガのメッセージが出力されなくなるまで,「テストケースの実行」を実行してください。
値の代入や期待値の設定については,「4.4.7 データ項目に値または期待値を設定する」を参照してください。
COBOL2002の実行時エラーが起こる場合は,[メッセージ]画面にテストデバッガのメッセージKCCC1207T-Iが出力されるので,COBOL2002の実行時エラーメッセージを参照して修正してください。COBOL2002の実行時エラーメッセージは,単体テスト支援の[プロパティページ]で実行時環境変数CBL_SYSERRを指定して取得します。
実行時環境変数CBL_SYSERRについては,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。
手動判定
テストケースの結果を確認し,その結果を判定して設定する方法です。
判定条件 |
判定結果 |
---|---|
結果を確認し,問題ないと判断した場合 |
OK(手動判定) |
結果を確認し,問題ありと判断した場合 |
NG(手動判定) |
結果をまだ確認していない場合 |
未判定(手動判定) |
自動判定で判定結果を設定する場合 |
自動判定※ |
手動判定の結果については,その回の実行結果だけに適用されます。次回以降に単体テストを実行するごとに,判定結果を設定してください。
また,各データ項目で個別に判定結果は設定できません。