3

TGUITestRunner フォームは DUnit テスト結果を表し、 GUITestRunner.RunTest手順によって 1 回作成されます。

procedure RunTest(test: ITest);
begin
  with TGUITestRunner.Create(nil) do
  begin
    try
      Suite := test;
      ShowModal;
    finally
      Free;
    end;
  end;
end;

色付きのステータス メッセージを書き込んで、実行時に拡張したいと考えています。GUI の下部にあるステータス メッセージが TRichEdit に配置されるため、可能です。したがって、このフォームへのポインタを TTestCase のどこかに取得する必要があります。

DUnit のコードを修正せずにそれを行うことはできますか? たぶん、いくつかのハックをお勧めできますか?

4

1 に答える 1

1

それを行うための「分離された」方法は、ステータスメッセージ内にいくつかの「埋め込みコード」を使用することです。

Status('<blue>Testing');

dUnit テスト フレームワーク内から、ステータス メッセージの最初の文字が「<」であるかどうかを確認し、色などの引数を抽出してから、dUnit を変更してそれを処理できます。

そうすれば、テストは変更されていない dUnit テスト ランナーで引き続き実行されます。数年後には、最新の dUnit テストに移行したくなるかもしれませんが、API を変更したり、テスト ランナー オブジェクトにアクセスしようとしたりすることはお勧めしません。テスト内で確認できる API や内容は、意図的に厳密に制御されています。これは、jUnit/xUnit/dUnit の作成者が強く信じている、適切なオブジェクト指向設計の原則です。

于 2012-03-12T13:31:56.283 に答える