単体テストに関する問題

単体テスト・ツールは、コネクターのビジネス・オブジェクト処理を実行するすべての SAP 開発作業をテストします。また、単体テスト・ツールを使用すると、行った作業と、コネクターの ABAP コンポーネントとの相互作用をテストできます。テスト・ツールでは、開発作業のテストはオンライン・ユーザーとして (リアルタイムで) のみ実行できます。

コネクターをバックグラウンド・ユーザーとして動作している状態でテストする場合と、オンライン・ユーザーとしてテストする場合の相違点を理解しておくことは重要です。主な相違点は次のとおりです。

メモリー
ビジネス・オブジェクトをテストする際、コネクターは SAP アプリケーションにログインする必要があります。さらに、イベントを生成し、IBM CrossWorlds Station のテスト・ツールを使用してビジネス・オブジェクトをテストするには、ログインする必要があります。

コネクターは、バックグラウンド・ユーザーとして実行されるので、コネクター自身が停止され、再始動されるまでは暗黙的にリフレッシュされることのない単一のメモリー領域で処理を実行します (そのため、ビジネス・オブジェクト開発では、処理の完了後にメモリーをクリアすることが重要になります)。開発者はオンライン・ユーザーなので、メモリーは通常、実行したトランザクションが終了するたびにリフレッシュされます。

詳細については、ABAP Extension Module のビジネス・オブジェクトの開発を参照してください。このことが原因で発生する可能性のある問題 (例えば、戻りコードが初期化されない) は、テスト・ツールでは検出されず、コネクターを使用してテストした場合にのみ検出されます。

画面フローの振る舞い
画面フローの振る舞いは、呼び出しトランザクション API を使用した場合にのみ関係します。ユーザーが相互作用する的確な画面および画面の順序は、通常は実行時にトランザクションのコードによって決定されます。例えば、ユーザーが資材マスター・レコードを拡張し、販売ビューを組み込むために「Sales view」チェック・ボックスをチェックすると、SAP には、ユーザーに対して特定の販売組織情報を照会する追加の入力フィールドが表示されます。このように、特定の画面とその要件は、実行時のトランザクション・ソース・コードがユーザーによるデータ入力に基づいて決定します。テスト・ツールはこのタイプのテスト・シナリオを処理できますが、関連するシナリオの中には、テスト・ツールが処理できないものがあります。

SAP のトランザクション・コードは、バックグラウンド・ユーザーとオンライン・ユーザーに異なる画面を表示する場合があります (通常はパフォーマンスよりも使いやすさのため)。テスト・ツールはオンライン・ユーザーとしてのみ動作します。コネクターはバックグラウンド・ユーザーとしてのみ動作します。この違いにもかかわらず、単体テストではほとんどのテスト状態を処理できます。

Copyright IBM Corp. 2004