0

ビルドサーバーには継続的な統合があります。チェックインのたびに自動テストされるプログラムは、いくつかの電子メールを送信します。これらのメールをチェックインしたユーザーに送信したいと考えています。単体テストの開始時にチェックインしたユーザーの名前を取得する方法はありますか。

AssemblyInitialize メソッドでチェックインを行ったユーザーの名前に何らかの方法でアクセスできる場合に最適です。

注: この要求は、テスト レポートの送信に関するものではなく、すべての単体テストを実行する前に、アプリケーションの構成ファイル内の電子メールを変更するためのものです。

4

1 に答える 1

0

現在のシェルフセット (型は C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.VersionControl.Client.dll で定義されています) から取得するようにビルド プロセス ワークフローを変更できます。 OwnerDisplayName (現在、これはドメインを含むログイン名のみであるため、AD ルックアップを実行してプレーン名と AD からの電子メールを取得する必要があります)。この情報を取得したら、テスト結果が gree であったかどうかを確認できます。そうでない場合、デフォルトのテンプレートで例外が発生します。それをキャッチしてユーザーにメールを送信し、例外を再スローします。

TFS にはテスト エージェントがあるため、テスト レベルではそれを確認することはできません。

  1. ビルド エージェントとは別のマシンで実行できます (ソース コードなし、ソース コントロールなしなど)。
  2. 複数のマシンで並行して分散実行できます (テスターから失敗メールを 6 回送信しますか?)

間違ったレベル (テスト内) で問題を解決しようとしています。ビルド プロセス テンプレートは問題なく簡単に変更できます。

于 2012-05-24T06:31:00.203 に答える