4.5 テストプロジェクトの環境を設定する
テストプロジェクトの環境は,次の画面で確認または設定します。
-
[プロパティページ]
-
[スタブ設定ページ]
注意
-
ENTRY文の個所から単体テストを実行する場合は,[プロパティページ]の[テスト対象プログラムの種類] で「副プログラム」を選択してください。
-
[プロパティページ]で指定できるコンパイラオプションは,ccbl2002コマンドのコンパイラオプションだけです。ファイル名は指定しないでください。
-
[プロパティページ]には,コンパイラ環境変数CBLPIDIRは指定しないでください。
-
[プロパティページ]の[変更]ボタンで表示される[COBOLソースファイルの設定]ダイアログの指定は,「COBOLソースファイルの解析」と「テスト実行」で有効になります。また,指定したコンパイラオプションに対して,「5.2 COBOLソースファイルを解析する」の注意で示すコンパイラオプションが追加されます。
-
[COBOLソースファイルの解析]で実行するのはコンパイルだけで,リンクは実行されません。[テスト実行]メニューはコンパイル・リンク・実行までが実行されます。[プロパティページ]の[実行環境]の指定は,「テスト実行」で有効になります。
-
[プロパティページ]の実行環境ファイルと実行環境変数の両方を指定して,同じ環境変数に異なる値を設定した場合の優先順位を次に示します。
-
テストプロジェクトのプロパティで設定した実行環境ファイル
-
共通実行環境ファイル
-
テストプロジェクトのプロパティで設定した実行時環境変数
-
単体テスト支援起動時に有効になっているコマンドプロンプトやコントロールパネルで設定した環境変数
-
-
[COBOLソースファイルの設定]ダイアログで[COBOLソースファイルの解析]ボタンをクリックして,解析の結果としてエラーが発生すると,[スタブ設定ページ],[テストケースページ]には入力できなくなります。メッセージ画面でエラーメッセージを確認して,次に示す操作でエラーを解消すると,設定できるようになります。
-
COBOLソースファイルの内容に問題があるときは,[ソーステキスト]メニューの[COBOLエディタを開く]を選択して,COBOLエディタを開きます。ソーステキストを修正して[プロジェクト]メニューの[COBOLソースファイルの解析]を選択します。
-
コンパイラオプションまたはコンパイラの環境変数に問題があるときは,[プロジェクト]−[プロパティページを表示]メニューを選択して,[プロパティページ]を開きます。[プロパティページ]の[変更]ボタンをクリックして,[COBOLソースファイルの設定]ダイアログを開いて修正したあと,[COBOLソースファイルの解析]ボタンをクリックします。
-
-
同一のCOBOLソースファイル内に,CALL定数で呼び出すプログラムが定義されている場合は,[スタブ設定ページ]の「CALL定数で呼び出す副プログラム名」に,そのプログラム名は表示されません。
-
[テスト実行]での結果の確認で,COBOL2002の実行時エラーメッセージを確認するには,[プロパティページ]の実行時環境変数,または実行環境ファイルに,実行時環境変数CBL_SYSERRと実行時環境変数CBLABNLSTを指定してください。
-
手続き文中にUSING指定のSORT文またはMERGE文がある場合は,[ファイルシミュレーション]画面で,USING指定に指定したファイルのREAD文に対して,終了条件で「AT END指定の文を実行」を指定してください。または,USING指定に指定したファイルに対する[スタブ設定ページ]に表示されるファイル名のチェックボックスをオフにして,[プロパティページ]の実行時環境変数または実行環境ファイルにファイルの実体を指定してください。
終了条件または実体を指定しないと,実行時エラーになるか,テスト実行が終了しなくなります。
-
手続き文中のACCEPT文への入力またはDISPLAY文,定数指定のSTOP文による出力内容を確認する場合,それぞれ[プロパティページ]の実行時環境変数または実行環境ファイルに必要な環境変数を指定してください。ACCEPT文,DISPLAY文,STOP文に対する注意を次に示します。
-
CUIモードでACCEPT文を実行する場合は,実行時環境変数CBL_SYSINまたはCBL_SYSTDにファイル名を指定してください。実行時環境変数にファイル名を指定しないと,制御が戻りません。
-
UPON CONSOLE指定以外のDISPLAY文の出力内容を確認する場合は,実行時環境変数CBL_SYSOUTまたはCBL_SYSPUNCHにファイル名を指定してください。実行時環境変数にファイル名を指定しないと,出力内容を確認できません。
-
定数指定のSTOP文の出力内容を確認する場合は,GUIモードで実行してください。CUIモードで実行した場合,出力内容を確認できません。
-
手続き中にUPON CONSOLE指定のDISPLAY文がある場合は,出力内容を確認できません。確認する場合はCONSOLE指定以外の指定に変更してから確認してください。
GUIモード,CUIモード,ACCEPT文,DISPLAY文,および定数指定のSTOP文については,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。
-
-
[プロパティページ]の実行時環境変数に,出力ファイルを指定する実行時環境変数を追加モード(ファイル名の末尾に「+」を付ける形式)で指定した場合,テストを実行したテストケースすべての出力内容が,実行時環境変数に指定したファイルに追加で出力されます。追加モードを指定しない場合は,最後に実行したテストケースの出力内容がファイルに出力されます。
-
次の個所で設定した環境変数の合計値が65,535バイトを超えると,[COBOLソースファイルの設定]ダイアログで[COBOLソースファイルの解析]ボタンをクリックしたときに論理エラーになります。回避するには,不要な環境変数を削除してください。
-
[新しくテストプロジェクトを作る]ダイアログ,[プロパティページ]または[COBOLソースファイルの設定]ダイアログで設定したコンパイラ環境変数
-
[プロパティページ]で設定した実行時環境変数
-
開発マネージャで設定したコンパイラ環境変数(開発マネージャから起動した場合)
-
システムに設定した環境変数
-
-
stdcall呼び出し規約で呼び出すプログラムのダミーの副プログラムは作成されません。
-
COBOLソースファイル内に,stdcall呼び出し規約のプログラムを呼び出すCALL文があっても,そのプログラム名は[スタブ設定ページ]の一覧には表示されません。
-
ダミーファイルに対する入出力文では,[ファイルシミュレーション]画面で終了条件を設定しないと,ファイル終了条件などの入出力条件が発生しません。そのため,入出力条件が発生しないと次の処理に進まないようなプログラムをテスト対象とした場合,テスト実行が終了しません。
例1:
開始. READ INPUT-FILE AT END GO TO 終了. GO TO 開始. 終了. CLOSE INPUT-FILE.
終了条件が発生しないので,AT END側の手続きの「GO TO 終了」が実行されず,無限ループします。この場合は,入出力対象のファイルに対して[スタブ設定ページ]に表示されるファイル名のチェックボックスをオフにして,[プロパティページ]の実行時環境変数または実行環境ファイルにファイルの実体を指定してください。
例2:
開始. READ INPUT-FILE AT END MOVE 0 TO 終了フラグ. IF 終了フラグ = 0 THEN GO TO 終了 ELSE GO TO 開始 END-IF. 終了. CLOSE INPUT-FILE.
終了条件が発生しないので,AT END側の手続きの「MOVE 0 TO 終了フラグ.」が実行されないで,無限ループします。この場合は,IF文に中断点を設定して,[テストケースページ]の[設定]タブの[中断点]画面でフラグに値を設定するか,例1と同様にファイルの実体を指定してください。
-
[スタブ設定ページ]の「入出力するファイル名」では,対象のファイルにEXTERNAL指定がある場合は,どれか1つのチェックをオンにすると,ほかのEXTERNAL付きのファイルは非活性になります。このとき,チェックはオフのまま非活性になります。
-
03-04,03-04-/Aでテストプロジェクトを開いたとき,そのテストプロジェクトファイルにEXTERNAL指定のファイルがあり,[スタブ設定ページ]で同名のEXTERNAL指定のファイルが複数チェックオンであった場合の動作は次のようになります。
テストプロジェクトを作成したバージョン
03-04で開く
03-04-/A以降で開く
03-04未満
-
複数チェックオンのまま開きます
-
活性/非活性の制御は行いません
-
複数チェックオンのまま開きます※
-
すべてのファイルについて,同名のファイルでチェックがオンのファイルが1つだけの状態になったら,活性/非活性の制御を行います→それ以降は複数チェックオンの状態にはなりません
03-04
- 注※
-
KEDL1033T-Wを出力します。同名のEXTERNALのうちどれか1つのファイルのチェックをオンにしてください。どれか1つを選択しない(同名の他ファイルのチェックをオフにしない)ままテスト実行またはテストプロジェクトの保存をしようとした場合,KEDL0063T-Eを出力して処理を中止します。
また,COBOLソースファイルの解析時に複数チェックオンの状態である場合(複数チェックオンの状態を解消しないまま解析を行った場合)にもKEDL1033T-Wを出力します。
-