4

VS を使用しない継続的インテグレーションで MsTest を使用する方法と同様に? 、TeamBuild サーバーで mstest.exe を実行したいと考えています。

私のコンテキストは、MSBuild でエラー ステータスをトラップすることです。つまり、mstest.exe /publish を使用して結果を TFS リポジトリにアップロードしようとしているだけです。したがって、 http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/の完全なリグマロールは (ご希望のとおり) やり過ぎである可能性が高く、特にMSTEST.exe として、http: //social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/e4575890-8f88-413c-a7f3-0d09d3b9cb01 で説明されているように、 Team Explorer をインストールするだけでよいことが示唆されています。

VS2008 チーム エクスプローラー SP1 と mstest.exe /? をインストールしました。パブリッシュ オプションについてまだ教えてくれません。

mstest.exe /? にはチーム エクスプローラーのみが必要であると書かれていることを思い出してください。公開用:

チーム エクスプローラーがインストールされている場合は、次のオプションも使用できます。

/publish:[サーバー名] 結果を Team Foundation Server に発行します。

/publishbuild:[ビルド名] テスト結果の公開に使用されるビルド識別子。

/publishresultsfile:[ファイル名] 公開するテスト結果ファイルの名前。何も指定されていない場合は、現在のテスト実行によって生成されたファイルを使用します。

/teamproject:[チーム プロジェクト名] ビルドが属するチーム プロジェクトの名前。テスト結果を公開する場合に指定します。

/platform:[プラットフォーム] テスト結果を公開するビルドのプラットフォーム。

/flavor:[flavor] テスト結果を公開するビルドのフレーバー。

procmon.exe のパスをたどって不足しているものを見つけようとしていますが、知識のある人が介入して答えてくれるのが理想的です:-

mstest.exe /publish には、前述のようにチーム エクスプローラーのみが必要ですか、それとも VSTT とチーム エクスプローラーが必要ですか?

4

3 に答える 3

6

MSTest.exe の /publish オプションは、コードの発行部分を実行する前に、Visual Studio の "Team" バージョン (つまり、Developer または Test エディション) がインストールされていることを確認するライセンス チェックを行います。

この制限は、Visual Studio の標準バージョンで基本的な単体テスト機能を許可するために導入されたようですが、公開などのテストで「チーム」関連機能を有効にするには、Visual Studio のより高価なチーム エディションのいずれかが必要です。テスト結果を TFS に送信します。

Team Epxlorer がインストールされた Visual Studio の Team エディションがない場合、合計で 3 つの機能が不足しています。

  • TFS への発行
  • コードカバレッジ
  • リモート エージェントに接続します。

Development Edition がインストールされている場合は、パブリッシュとコード カバレッジは取得できますが、リモート エージェント エージェントの機能 (つまり、ロード レスティングを実行するための機能) は取得できません。

Test Edition と Visual Studio Team Suite にはすべてが含まれています。

MSTest.exe を使用してビルド サーバーから単体テスト データを発行するカスタム MSBuild タスクの例 (この例では JUnit テスト データ) を確認したい場合は、私が作成したTeamprise Build Extensionsを参照してください。これらのソース コードは、寛容なMS-PLオープン ソース ライセンスの下で利用できます。

于 2009-08-04T08:42:46.257 に答える
2

I've read on the MSDN forums that the /publish functionality of mstest requires purchasing either VS Team Developer or VS Team Test edition. Any lesser editions such as standard/professional or team explorer don't have it.

I'd really like to see some more evidence though, as it seems fairly unreasonable that with "standard" VS2008 you can write and run unit tests, but you arbitrarily can't run them on your build machine :-(

To answer the question:

Should mstest.exe /publish only require Team Explorer, or does it require VSTT and Team Explorer?

It appears that it requires VSTT (which I assume means visual studio team-tester edition)

于 2009-08-03T21:22:11.737 に答える
2

実行時に表示されるメッセージ mstest.exe /?は、実際には非常に誤解を招くものです。テスト結果を公開するにはチーム エクスプローラーが必要であることが示されていますが、残念ながらチーム エクスプローラーをインストールしても何も変わりません。Martin が述べたように、MsTest はライセンス チェックを行って、Visual Studio の適切なエディションがインストールされていることを確認します。したがって、'/publish' およびその他のスイッチは使用できません。

また、「適切な」エディションとは、MsTest は Premium または Ultimate を意味し、他のエディションについては不明です。

Microsoft は、サーバーに Visual Studio をインストールしてフル機能の CI を使用する必要があると述べています。これが公式でサポートされている唯一のソリューションですが、この概念が本当に気に入らない場合 (そして私も気に入らない場合) は、MsTest に次のように思わせることができます。 Visual Studio がサーバーにインストールされている。

いくつかのレジストリ キーを開発マシンから CI サーバーにエクスポートするだけで十分です。- MsTest は、テスト結果を TFS に発行します。レジストリ キーは 、システムに応じてatHKLM\SOFTWARE\Microsoft\VisualStudio\12.0\Licenses または at にあります。HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0\Licenses

このソリューションの詳細については、http: //blog.foxxtrot.net/2010/02/hacking-mstest-out-of-visual-studio.htmlを参照してください。

于 2015-10-12T10:26:48.473 に答える