第12章

テストおよびデバッグ

Novell exteNd Composerには、テストやデバッグ用のさまざまな支援機能があります。 ほとんどの場合、プロジェクト内のサービスをすべて、最初から最後までアニメーション実行(あらゆる制御パスの実行テスト)することが可能です。アプリケーションサーバに展開する必要もありません。 ドキュメント入出力、XML変換、トランザクション制御、ログ出力なども、バックエンドシステムと「運用環境と同様に」接続した状態で、リアルタイムでテストできます。 Composerは、設計時もデバッグ時も、Composer Enterprise Server環境とまったく同じJavaクラスを使って実行するようになっています。したがって、設計時に問題が起こらなければ、アプリケーションサーバに展開後の信頼性についてもかなりの自信を持つことができます。

Composerには、次のようなテスト/デバッグ機能があります。

以上の機能やデバッグ手法の使い方について、以下に解説します。

 
Top of page

アニメーションツールとは

Composerのサービスエディタおよびコンポーネントエディタには、サービスやコンポーネント内でアクションをテストしたりトラブルシューティングしたりできるようにするアニメーションツールがあります。 このため、サービスやコンポーネントのアクションモデルを通して段階的に実行し、各アクションの結果を監視することができます。 エラーを検出するばかりでなく、接続状態やデータが想定どおりになっているかどうか確認することも可能です。

アクションモデルの特定の1セクションをテストするには、アニメーションツールを使用して1つまたは複数の「ブレークポイント」を設定できます。 「ブレークポイントまでの実行」ツールと組み合わせて使えば、アクションモデルのうち正常に動作している部分は一気に実行し、問題の箇所で停止してそこからステップ実行する、といった手順でデバッグできます。 さらに、ループ、コンポーネントアクションなどのコードブロックで、その内部に「ステップイン」しても冗長なだけである場所は、「ステップオーバー」実行することも可能です。

 
Top of section

基本的なアニメーションツール

アニメーションツールは、サービスエディタとコンポーネントエディタのアクションモデルツールバーから使用できます。 アクションモデルツールバーの他に、エディタには、Composerの[アニメーション]メニューのメニューオプションや、対応するキーボードコマンドもあります。さまざまなツールとその機能については、次の表で説明します。

表12-1

アニメーションツールバーボタン

説明

12IconStartAnimation

[アニメーションの開始] - このボタンをクリックすると、アニメーション処理が開始します。オプションとして、[アニメーション]>[アニメーションの開始]の順に選択するか、または<F5>キーを押すこともできます。

12IconStopAnimation

[アニメーションの終了] - このボタンをクリックすると、アニメーション処理が停止します。オプションとして、[アニメーション]>[アニメーションの終了]の順に選択するか、または<Shift>+<F5>キーを押すこともできます。

12IconStepInto

[ステップイン] - このボタンをクリックすると、現在選択されているアクションが実行され、次のアクションが選択されます。 「コンポーネント」、「繰り返し」、「決定」、または「Try/On Fault」アクションが現在選択されているアクションの場合、次に選択されたアクションがこれらのアクションの詳細になります。ループの繰り返しアクションの場合、[ステップイン]を押すと、ループの各アクションが実行され、各ループを通して反復します。決定アクションの場合は、[ステップイン]を押すと、TrueまたはFalseブランチで次のアクションが処理されます。 「Try/On Fault」アクションの場合は、[ステップイン]を押すと、実行内と、おそらく障害を捕捉した場合のブランチで、次のアクションが処理されます。コンポーネントアクションの場合は、別のウィンドウが開き、そのコンポーネントに「ステップイン」します。オプションとして、[アニメーション]>[ステップイン]の順に選択するか、または<F7>キーを押すこともできます。

12IconStepOver

[ステップオーバー] - このボタンをクリックすると、現在選択されているアクションが実行され、次のアクションが選択されます。 [ステップイン]ボタンとは異なり、このボタンをクリックしても、「コンポーネント」、「繰り返し」、「決定」、または「Try/On Fault」アクションの詳細は選択されたり実行されたりしません。コンポーネントアクションの場合は、別のサービスやコンポーネントが呼び出されても、別のウィンドウは開きません。 単に呼び出しが実行され、次のアクションに進むだけなので、つまりは、呼び出されたサービスやコンポーネント、あるいは「繰り返し」、「決定」、または「Try/On Fault」アクションを基本的に「またぐ」ことになります。オプションとして、[アニメーション]>[ステップオーバー]の順に選択するか、または<F8>キーを押すこともできます。

12IconToggleBreakpoint

[ブレークポイントの切り替え] - このボタンをクリックすると、アクションモデルで選択されているアクションがブレークポイントとして設定されます。ブレークポイントは、複数設定できます。 ほかに、[アニメーション]>[ブレークポイントの切り替え]の順に選択する、<F2>キーを押す、およびアクションモデル内で右クリックする、という方法でも、ブレークポイントを切り替えることができます。

12IconRunToBreakpoint

[ブレークポイント/終了までの実行] - このボタンをクリックすると、アクションモデルの次のブレークポイントまたは最後のブレークポイントにアニメーションが実行されます。オプションとして、[アニメーション]>[ブレークポイント/終了までの実行]の順に選択するか、または<F9>キーを押すこともできます。

12IconPauseAnimation

[アニメーションの一時停止] - このボタンをクリックすると、アニメーションが停止します。オプションとして、[アニメーション]>[アニメーションの一時停止]の順に選択するか、または<F6>キーを押すこともできます。

 
Top of section

アニメーションの開始

サービスまたはコンポーネントを初めて開いたときに使用できるのは、[アニメーションの開始]ツールと[ブレークポイントの切り替え]ツールのみで、ほかは淡色表示になっています。 [アニメーションの開始]ボタンをクリックすると、ほかのアニメーションツールもクリックできる状態になります。 アニメーションを一時的に停止したいときは、[アニメーションの一時停止]ボタンを使います。 同様に、アニメーションを中断したいときは、赤い[アニメーションの終了]ボタンをクリックします。

警告:    [コピー]、[貼り付け]、およびアクション編集操作(新規アクションの追加を含む)は、アニメーション実行中でも可能ですが、通常は行わないようにしてください。 編集すると、例外または予測できない動作、あるいはその両方が起こる可能性があります。 アクションモデルを編集したい場合は、いったん[アニメーションの終了]ボタンを押してから編集し、その後改めてアニメーション実行を開始してください。

Procedure アニメーションを開始する

  1. サービスまたはコンポーネントを開きます。すると、サービスまたはコンポーネントが該当するエディタに表示されます。

  2. アクションペインのツールバーで[アニメーションの開始]ボタンをクリックするか、またはキーボードの<F5>キーを押します。すると、現在では淡色表示されている[アニメーションの開始]ボタンを除き、アクションツールバーのツールがすべてアクティブになります。

  3. 次のセクションの指示に従って、希望のアニメーションアクティビティを実行します。

 
Top of section

ブレークポイントの切り替え

[ブレークポイントの切り替え]ツールを使用すると、プロセスを停止する場所となるブレークポイントをアクションモデルで設定できます。これは、適切に動作する長いセクションがある、時間のかかるアクションモデルである場合に特に便利です。問題が発生する各アクションの開始にブレークポイントを設定した後、アクションを1つずつトラブルシューティングすることができます。

Procedure ブレークポイントを切り替える

  1. サービスまたはコンポーネントを開きます。すると、サービスまたはコンポーネントが該当するエディタに表示されます。

  2. 必要に応じてアクションペインを調節し、そのコンテンツを表示します。

  3. アクションペインで、ブレークポイントを配置するアクションを選択します。これは、アニメーションが停止する場所です。

  4. アクションモデルツールバーで[ブレークポイントの切り替え]ボタンをクリックするか、またはキーボードの<F2>キーを押します。すると、選択したアクションのバックグラウンドは赤色に、テキストは白色に変わります。

  5. 必要に応じて手順3と4を繰り返し、追加のブレークポイントを選択します。

  6. アクションモデルツールバーの[アニメーションの開始]ボタンをクリックします(ボタンがグレー表示されていない場合)。[アニメーションの開始]ボタンがグレー表示されている場合は、別のアニメーションツールを選択して、現在のブレークポイントからアニメーションプロセスを完了できます。[アニメーションの開始]をクリックすると、次のように変更されます。

    12ServiceToggleBreakpoint3

  7. 次のセクションの指示に従って、追加のアニメーションプロセスを実行します。

 
Top of section

ブレークポイントまでの実行

[ブレークポイントまでの実行]ツールは、[ブレークポイントの切り替え]ツールと組み合わせて使用することにより、アニメーションプロセスを制御できます。 時間のかかるアクションモデルでは、アニメーションプロセスを実行する時間と停止するポイントを制御するための機能が役立ちます。この機能は、[ブレークポイントまでの実行]を使用して実行できます。

Procedure ブレークポイントまでアニメーションを実行する

  1. サービスまたはコンポーネントを開きます。すると、開いたサービスまたはコンポーネントが該当するエディタに表示されます。

  2. 必要に応じてエディタのペインを調節し、アクションペインのコンテンツを表示します。

  3. テスト用にブレークポイントとして設定するアクションを選択します。

  4. アクションペインのツールバーで[ブレークポイントの切り替え]ボタンをクリックするか、またはキーボードの<F2>キーを押します。

  5. アクションペインのツールバーで[アニメーションの開始]ボタンをクリックするか、またはキーボードの<F5>キーを押します。 すると、サービスまたはコンポーネントのアクションペインは、次のようになります。

  6. アクションペインのツールバーで[ブレークポイントまでの実行]ボタンをクリックするか、またはキーボードの<F9>キーを押します。すると、アニメーションプロセスにより、ブレークポイントの前までのアクションがすべて実行されます。プロセスはブレークポイントで停止し、ブレークポイントは赤色で選択されます(次を参照)。

    12ServiceToggleBreakpoint2

  7. 次のセクションの指示に従って、アニメーションプロセスを続行します。

 
Top of section

アクションへのステップイン

[ステップイン]ツールを使用すると、アクションモデルで選択されているアクションを実行した後、次のアクションに移動します。他のコンポーネント内であっても同様です。 つまり、次が「コンポーネント」アクションであれば、そのターゲットコンポーネントが開き、そのアクションモデルにある最初のアクションからアニメーション実行が継続されます。 [ステップイン]ツールは、アクションモデル全体でアクションを1つずつ処理するために使用したり、[ブレークポイントまでの実行]ツールと組み合わせて使用したりすることができます。 次のブレークポイントまたはアクションモデルの末尾に到達すると、実行が停止します。

ブレークポイントを使ったシナリオとして、10個のアクションは適切に動作しているが、11番目のアクションは適切に動作するかどうか確信がないような場合があります。 このような状況では、11番目のアクションをブレークポイントとして設定し、[ブレークポイントまでの実行]ツールを実行してから、[ステップイン]ツールを実行して11番目以降のアクションを対処することが可能です。

注記:   サービスまたはコンポーネントがアクションモデルから呼び出され、呼び出されたオブジェクトを表示するために個別のエディタが開かれた場合、そのオブジェクトのアクションモデルを通して完了する必要があります。完了すると、エディタが閉じて、元のアクションモデルに戻ります。

Procedure [ステップイン]ツールを実行する

  1. サービスまたはコンポーネントを開きます。すると、サービスまたはコンポーネントが該当するエディタに表示されます。

  2. 必要に応じてペインを調節し、アクションモデルのコンテンツを表示します。

  3. アクションペインのツールバーで[アニメーションの開始]ボタンをクリックするか、またはキーボードの<F5>キーを押します。 アニメーションツールがアクティブになり、オブジェクトの名前がアクションモデルで選択されます。

    12animation16

  4. アクションツールバーで[ステップイン]ボタンをクリックするか、またはキーボードの<F7>キーを押します。すると、最初のアクションが選択されます。

    12StepInto1

  5. [ステップイン]ボタンをもう一度クリックします。すると、アクションが実行され、次のアクションが選択されます。

  6. 各アクションが実行され、次のアクションが選択されたら、[ステップイン]ボタンをクリックすることによって、アクションモデルを通して作業を続行します。

  7. 別のサービスまたはコンポーネントを呼び出すアクションが選択されたら、[ステップイン]ボタンをクリックします。すると、次のような結果になります。

  8. 呼び出されたコンポーネントのアクションペインのツールバーで、[ステップイン]ボタンをクリックします。

  9. 引き続き[ステップイン]ボタンをクリックして、呼び出されたコンポーネントのアクションをすべて実行します。 アクションをすべて実行すると、ウィンドウが閉じ、元のアクションモデルで停止したポイントに戻り、次のアクションが選択されます。

  10. 引き続き[ステップイン]ボタンをクリックして、元のサービスまたはコンポーネントのアクションをすべて実行します。完了すると、メッセージが表示されます。

    12AnimationComplete

    注記:   アクションモデルでは1つまたは複数のコンポーネントが呼び出されることがあり、各コンポーネントでも複数のコンポーネントが呼び出されることがあります。呼び出されたコンポーネントの各インスタンスでは、アニメーションツールはまったく同じように機能します。たとえば、呼び出されたコンポーネント内で[ブレークポイントの切り替え]機能を実行した後、元のサービスまたはコンポーネントで[ブレークポイントまでの実行]機能を実行したいことがあります。 このような場合、アクションモデルでは、アクションの実行を開始して、呼び出されたコンポーネントを開き、設定したブレークポイントでアクションを停止します。

 
Top of section

アクションのステップオーバー

[ステップオーバー]ツールは、「コンポーネント」、「繰り返し」、「決定」、または「Try/On Fault」アクションの詳細にステップインしない場合に役立ちます。

Componentアクションの場合、[ステップオーバー]ツールを使用すると、ターゲットコンポーネントを通してアニメーションを続行するのに長い時間を費やして別のエディタを開く可能性がなくなります。[ステップオーバー]ツールでは、単にターゲットコンポーネントを実行した後、アクションモデルで次のアクションを選択します。

同様に、「Try/On Fault」、「繰り返し」、またはその他の制御フローアクションでラップされたコードのブロックの場合は、ステップオーバー機能を使用すると、各アクションを個々に通さずに(ループ内で厄介になることがあるため)、コードのブロック全体を一度に実行できます。

[ステップオーバー]ツールは、[ブレークポイントまでの実行]ツールと組み合わせて使用すると便利な場合があります。 たとえば、[ブレークポイントの切り替え]機能を使用し、[ブレークポイントまでの実行]ツールを実行した後、[ステップオーバー]ツールを使用して、ブレークポイントとして指定したアクションを実行できます。[ステップオーバー]ツールでは、個々のアクション(関係のないものが含まれる場合もある)を通して単調に実行する必要がないため、長いアクションモデルをテストする場合に時間を大幅に節約できます。

Procedure [ステップオーバー]ツールを使用する

  1. サービスまたはコンポーネントを開きます。すると、サービスまたはコンポーネントが該当するエディタに表示されます。

  2. 必要に応じてペインを調節し、アクションモデルのコンテンツを表示します。

  3. アクションペインのツールバーで[アニメーションの開始]ボタンをクリックします。 すると、アニメーションツールがアクティブになり、オブジェクトの名前がアクションモデルで選択されます。

    12animation22

  4. ループ、またはインデントされたコードブロックに先行するコードの別の行に達するまで、[ステップイン]ボタンを使用して、アクションモデルを通して作業します。

  5. アクションツールバーで[ステップオーバー]ボタンをクリックするか、またはキーボードの<F8>キーを押します。 すると、インデントされたコードのブロックの「後」にある最初のアクションが選択されます(インデントされたコードはすべて通常どおりに実行され、インデントされたアクションの行を個々に通して作業する必要なく、「アウトデント」された次のアクションに直ちに移動します)。

  6. 必要に応じて[ステップオーバー]ボタンをクリックし、アクションモデルを通して作業を続行します。

  7. 引き続き[ステップイン]ボタンまたは[ステップオーバー]ボタン、あるいはその両方をクリックして、アクションモデルのアクションをすべて実行します。完了すると、メッセージが表示されます。

    12AnimationComplete

 
Top of section

アニメーションの一時停止

[アニメーションの一時停止]ツールを使用すると、アクションモデルでアクションの実行を一時停止できます。これは、アクションモデルに長いループが含まれている場合に特に便利です。

Procedure アニメーションを一時停止する

  1. アクションの実行中に、アクションペインのツールバーで[アニメーションの一時停止]ボタンをクリックするか、またはキーボードの<F6>キーを押します。

  2. アニメーションプロセスを再開するには、必要に応じて[ステップイン]、[ステップオーバー]、または[ブレークポイントまでの実行](ブレークポイントが設定されている場合)をクリックします。

警告:    [コピー]、[貼り付け]、およびアクション編集操作は、アニメーションの一時停止中でも可能ですが、通常は行わないようお勧めします。 編集すると、例外が発生することがあります。

 
Top of section

アニメーションの中止

[アニメーションの停止]ツールでは、単にアニメーションプロセスを停止します。 アニメーションは、停止したら、停止した場所から再開することはできません。 このため、アクションモデルの開始から再開する必要があります。

Procedure アニメーションを停止する

  1. アニメーションの実行中に、アクションペインのツールバーで[アニメーションの停止]ボタンをクリックするか、またはキーボードの<Shift>+<F5>キーを押します。すると、次のメッセージが表示されます。

    12AnimationStopped

  2. [OK]をクリックします。

 
Top of page

実行エラー

アクションが正しく実行されなかった場合、エラーメッセージが表示されます。

12executionerror01

[詳細]ボタンをクリックすると、発生した問題に関する詳細を表示できます。この機能により、完全なJavaスタックトレースが生成されます。

すべてのエラーメッセージは、Composerの[表示]メニューから表示できるシステムログにも書き込まれます。

注記:   Composerのログ(または出力)ペインにもメッセージが表示されます。 細かいメッセージまですべて[ログ]タブに表示したい場合は、[ツール]>[初期設定]の順に選択し、[一般]タブで[ログのしきい値]を1にします。 同じダイアログで、[スタックトレースの表示]チェックボックスもオンにします。

12executionerror

 
Top of section

すべてのブレークポイントのクリア

アクションモデルが正しく動作するようになったら、最初から最後まで、中断無しに実行してみることになります。 そのためには、これまでに設定したブレークポイントをすべて解除しなければなりません。 [すべてのブレークポイントのクリア]コマンドを使用すると、すべてのブレークポイントをまとめて解除できます。 その手順は2とおりあります。

  1. [アニメーション]メニューから[すべてのブレークポイントのクリア]を選択します。

  2. コンポーネントエディタのアクションモデル内を右クリックして、コンテキストメニューを呼び出します。 [すべてのブレークポイントのクリア]を選択します。

    12ClearBreak

 
Top of section

すべてのドキュメントのリセット

テストまたはデバッグセッション中、コンポーネントの入力、出力、一時、および障害ドキュメントを、すべて元の状態に戻さなければならないことがあります。 そのためには、メインメニューバーの[コンポーネント]メニューから、[XMLドキュメントの再ロード]を選択します。

 
Top of section

ドキュメントのクリア

ドキュメントの内容を、ルートノードを含め、ECMAScriptを使ってプログラムで完全にクリアすることができます。 次のような関数アクションを追加してください。

  Temp.removeChild( Temp.firstChild );

Composerのメインツールボックスにある[実行]ボタンでこの文を実行するか、または関数アクションダイアログで[適用]ボタンを押します。 すると、(この例の場合は) Tempドキュメントが空になります。

注記:   removeChild()メソッドおよびfirstChildプロパティは、W3Cで定義された標準DOM ECMAScript拡張です。 ECMAScriptを使ったアクション内では、このようなメソッドを使って、ドキュメント構造のどの部分でも削除、追加、または修正することができます。 詳しくはを参照してください。

 
Top of page

テストのヒント

アクションモデルのテストやデバッグに当たっては、次のような技法を覚えておくとよいでしょう。

それぞれについて以下に解説します。

 
Top of section

ECMAScript alert()関数の使用

マップアクションやその他のタイプのアクションを実行する前または実行した後、あるいは両方の場合に、データ値を検査したいことがあります。このような状況では、ECMAScript alert()関数を含む関数アクションを作成して検査することができます。alert関数を使用すると、指定した値が表示されたメッセージボックスが現れます。

次の例では、ある条件が真であることを確認するために、alert関数アクションを使っています。

12alert

注記:   アプリケーションサーバ環境にプロジェクトを配備する前に、alert()関数を使用するアクションをすべて無効にすることが推奨されます。alert()の機能は、設計時のテストの場合にのみ有用です。 アプリケーションサーバに展開後は実行できません。

 
Top of section

プロジェクト変数を使用したデバッグのオン/オフの切り替え

コンポーネントまたはサーバにデバッグ関連のアクションが多数含まれている場合、プロジェクトの展開時にアクションが実行されないようにすることができます。 1つの方法は、決定アクション内で使用できる「プロジェクト変数」を作成して、デバッグアクションを実行するかどうかを決定することです。その後、すべてのデバッグ関連アクションをコンポーネントの決定アクション内に配置します。

別の方法は、コンポーネントの内部メソッドの1つに直接の呼び出しを使用して、現在の環境がランタイムまたは設計のいずれであるかを決定することです。

  gDebugMode = !Packages.com.sssw.b2b.rt.GNVxObjectFactory.isRuntime();

これは、カスタムJavaメソッドを呼び出すためにECMAScriptを使用する例です。ここでの結果は、コンポーネントが設計(またはアニメーション)時にComposerで実行されている場合は、(コンポーネントにスコープされた)変数gDebugModeにtrueが含まれ、コンポーネントがサーバ上に展開したプロジェクトで実行されている場合は、falseが含まれます。

次に、この「標識変数」を使用してalert()を呼び出すかどうか判断を下す場合の例を示します。

12DebugDecision

注記:   デバッグには、「ログ」アクションも不可欠で、[初期設定]ダイアログボックスの[一般]タブを使って簡単に制御できます。 160ページのログアクションを参照してください。

 
Top of section

ウォッチリスト

アニメーション実行中、あるデータの値がどのように変化するかを監視できます。監視したい変数またはデータノードを、「ウォッチリスト」に追加してください。

ウォッチリストは、(Composerメインウィンドウの下部にある出力ペインの)[ウォッチ]タブを手前に表示すれば参照できます。

12Watch1

ウォッチリストの実体は、メモリ中に展開されたXMLドキュメント(DOM)です。ウォッチするデータ項目は、いつでも追加または削除できます。 コンポーネントまたはサービスをステップ実行する都度、リアルタイムにデータ値が更新されます。 もちろんこれは、設計の支援用としてのみ使うべき機能です。 (サーバの)実行環境では使えません。

ウォッチリストの寿命とスコープ

ウォッチリストはコンポーネントごとに作成し、コンポーネントごとに切り替えながら使います。各ウォッチリストのスコープは、コンポーネントの範囲に限られます。

ウォッチリスト変数が追加されたコンポーネントを保存すると、次にコンポーネントを開いたときにも、ウォッチリスト変数はそのまま残っています。 このようにウォッチリストは、コンポーネントと組にして保存しておけるのです。

また、XMLファイルの形でウォッチリストを保存することもできます (WATCHノードを右クリックし、コンテキストメニューから[XMLとして保存]を選択します)。 これは障害復旧にも役立ちます。異なる設計セッションで実行し、同じ箇所でウォッチリストを保存して違いを見ることができるからです。

ウォッチできる変数の種類

ウォッチできる変数には2種類あります。 すなわち、ECMAScript変数とDOMノード (要素など)です。 リーフ以外のDOMノードは、単独でウォッチリストに追加するほか、子ノードを含む全体を追加することも可能です (ウォッチ対象はXPathで定義します)。

注記:   ウォッチリストは読み込み専用です。 ウォッチウィンドウで項目を追加および削除できますが、値を変更することはできません。

ウォッチリストに項目を追加する手順

ウォッチツリーに項目を追加する方法は3とおりあります。

操作の例

変数をウォッチリストに追加し、コンポーネントをアニメーション実行しながら変数値が変化する様子を監視し、最後に変数を削除する様子を示します。

  1. コンポーネントを開きます(まだ開いていない場合)。

  2. [ウォッチ]タブ(Composerメインウィンドウの下部)をクリックして手前に表示します。

  3. ウォッチビューのルートノード(「ウォッチ」)を右クリックします。すると、コンテキストメニューが表示されます。 (前の図を参照してください)。

  4. コンテキストメニューから[ウォッチの追加]を選択します。 ダイアログボックスが表示されます。

    12Watch4

    このダイアログは式ビルダです。 ここで、XPathの値を評価するECMAScript式を作成します。 上側の3つのペインからマウスで項目を選択するだけで、式が作成されるのです。 たとえば上の図で、INV:INVOICEBATCH/INV:INVOICEの入力要素をウォッチリストに追加する手順は、入力ツリーノードを開き、該当するノードをダブルクリックするだけです。 対応するECMAScript文が、上図のように、テキスト編集フィールドに自動的に生成されます。

    注記:   ECMAScript変数をウォッチしたい場合は、変数名をそのまま入力します(ECMAScriptユーザ変数は選択リストに表示されないので、手で入力する必要があります)。

  5. 必要に応じ、[検証]ボタンで、式の構文を検証します。

  6. [OK]をクリックしてダイアログを閉じます。

  7. ノードまたは変数がウォッチビューに追加されているはずです。 変数が子ノードのあるDOMノードであれば、ダブルクリック(またはすぐ横のプラス(+)記号をクリック)すると、子ノードおよびその値を展開表示できます。

  8. [アニメーションの開始]ボタンをクリックすると、アクションモデルのステップ実行が始まります。

    12Animate

  9. ステップ実行が進むにつれ、ウォッチ変数の値が変化するはずです。

  10. ウォッチ変数を削除するには、当該ノードを右クリックし、コンテキストメニューから[ウォッチの削除]を選択します。 これで変数が削除されます。

 
Top of page

アニメーションテストと展開テストの環境的相違

Composerでのアニメーションテストと、展開テストには、大きな環境的相違があります。これらのテストはいずれも作成したコンポーネントやサービスを適切に検証するために必要です。違いについては、次の表に詳しく説明します。

表12-2


Composerでのテスト

展開テスト

OS

Win98、WinNT、またはWin 2000

WinNT、Sun Solarisなど

プラットフォーム

Java Runtime Environment (JRE)

アプリケーションサーバJRE

コンポーネントまたはサーバの起動

Composerから直接的

サービストリガによってのみ(つまり、展開サーブレットまたはEJB)

xObjectアクセス

ディスクファイルから

アプリケーションサーバ内のJARファイルから

ランタイムコンテキスト

個々のコンポーネント、またはサービス内で実行されているコンポーネントをテスト

常にサービス内から

サービス入力およびコンポーネント入力

入力ドキュメントは、ローカルコンピュータのサンプルXMLドキュメントだけでなく、他のサービスやコンポーネントからのDOMに由来することが多い

入力ドキュメントは、サービストリガ、または他のサービスやコンポーネントからのDOMを介して、サービスとコンポーネント内に渡される

次に対するプロジェクト変数:*ログファイルのパス*DTD URL*XSL URL*メール送信サーバ*XML交換URL

通常はローカルコンピュータ上の場所を指す(ただし、サーバやWeb上の場所でも可)

プロダクションサーバおよびWeb上の場所を指す

テストツール

ログアクション以外に、ダイアログボックス(ECMAScript alert()関数)を使用してランタイム値を表示することも可能

ダイアログボックスの使用は不可

JDBC接続

サーバ接続プールを使用しない

サーバ指定の接続プールを使用する

HTTPおよびLDAP接続

ローカルコンピュータまたはテストサーバを指している可能性がある

運用サーバを指している必要がある




Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...