web-dev-qa-db-ja.com

Team Foundation Server(TFS)ビルドで単体テストを実行する

特定のビルドの実行時にTeamFoundation Serverで単体テストを実行するための手順は何ですか?

これを初めて行うようにTFSサーバーをセットアップするときに、開発者またはシステム管理者が知っておくべき警告/落とし穴/回避策は何ですか?

ビルド中の単体テストの問題に対する一般的なトラブルシューティング手順は何ですか?

23
Dan Esparza

実行しているTFSのバージョンによって異なるため、2008年であると想定します。

まず、 方法:ビルド定義を作成する に記載されているように、ビルドエージェントとして機能するTeam Edition forTestersがコンピューターにインストールされている必要があります。

チームビルドにビルドのテストを実行するように指示する方法はいくつかあります。

  1. 単体テストは、構築中のソリューション内の定義済みのテストリストから実行できます。このリストはビルド定義によって参照され、選択したリスト内のすべてのテストが実行されます。詳細 ここ
  2. ワイルドカードテストの実行は、マスクに一致するアセンブリに存在するテストを実行するようにチームビルドに指示するワイルドカードマスク(つまり、Test * .dll)を定義することによっても利用できます。これは、ビルド定義を定義するときにも行われます。

注意事項:

ワイルドカード方式を使用する予定で、テスト構成のコードカバレッジを有効にする場合は、ビルド定義ファイルに以下を追加して有効にする必要があります。

<RunConfigFile>$(SolutionRoot)\TestRunConfig.testrunconfig</RunConfigFile>

詳細については、これに関する私の以前の質問を参照してください ここ

11
Mr. Kraus

テスト構成(管理するためのお尻の痛み)を使用したくない場合は、ビルド構成にこれを追加して、.dllですべてのテストを実行するだけです。

<ItemGroup>
    <TestContainerInOutput Include="MyProject.UnitTests.dll" />
</ItemGroup>

全体のプロセスはスムーズでかなりシンプルです。テスト結果ファイルをローカルで開くことで、ビルドサーバーにファイリングされた単体テストを検査できますが(少し面倒です)、通常は単体テストをローカルで実行するだけで、結果をすぐに確認できます。

NUnitに慣れている場合は、クラス名でテストを並べ替えることを選択できます。同様のビューが表示されます。

コードカバレッジに注意して、コンパイル時にバイナリの完全なコピーを作成します。バイナリが十分に大きく、頻繁にコンパイルする場合、ドライブスペースをすぐに使い果たしてしまいます。

4
vfilby

http://msdn.Microsoft.com/en-us/library/cc981972(v = vs.90).aspx

プロジェクトの作成からユニットテストプロジェクトの作成から、それを使用するようにチームビルドを構成するまでの完全な「ウォークスルー」が得られるため、この定義が気に入っています。ユニットテスト

1
EalesJS