5

私のチームは、ChutzpahをTFS2012ビルドプロセスに統合しようとしています。このブログ投稿を出発点として使用しました。

大まかに言えば、実際の問題は、ビルドエージェントのコンテキストでVisual StudioTestRunnerがChutzpahフックを検出していないことです。したがって、Chutzpahブートストラッパーが実際に検出されて初期化されることなく、テストソースとして定義できます**\*.jsが、テストランナーはこれらのファイルに対して何も実行しません。

より詳細なレベルでは、ビルドコントローラーのカスタムアセンブリをロードするためのログを確認すると、次の3つのメッセージが表示されます。

Summary: There were 0 failures, 2 errors and 1 warnings loading custom activities and services.
Error: Method 'ToXml' in type 'Chutzpah.VS2012.TestAdapter.ChutzpahAdapterSettings' from assembly 'Chutzpah.VS2012.TestAdapter, Version=2.2.0.171, Culture=neutral, PublicKeyToken=1ca802c37ffe1896' does not have an implementation.
Error: API restriction: The assembly '...\AppData\Local\Temp\VSTFSBuild\8c8e9402-1169-4782-99a9-ce42f83be8f0\A1288811191\Chutzpah\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.
Warning: Could not load file or assembly '...\AppData\Local\Temp\VSTFSBuild\8c8e9402-1169-4782-99a9-ce42f83be8f0\A1288811191\Chutzpah\phantomjs.exe' or one of its dependencies. The module was expected to contain an assembly manifest.

この情報以外は、多かれ少なかれ行き詰まっています。構成を比較できるように、スタンドアロンの2012ビルドサーバーでChutzpahを実際に実行している人からの連絡をお待ちしています。

4

3 に答える 3

1

この議論は Codeplex でも行われています。そこに何らかの助けが提供されるかもしれません。

Chutzpah を使用した Team Foundation Service での Javascript 単体テスト

于 2013-01-30T14:27:30.787 に答える
1

実際、Software Carpenter にはポイントがあります。通常の単体テストのテスト仕様がtest .dll (または同様のもの) である可能性があると考えられます。これは、Microsoft.VisualStudio.TestPlatform.ObjectModel.dll が単体テスト dll として読み込まれることを意味します。その後、chutzpah テストを実行しようとすると、TFS はそれを再度ロードしようとします。

通常の単体テスト仕様を無効にしてみて、それが役立つかどうかを確認してください。それが有効な場合は、仕様を TestPlatform.ObjectModel.dll を含まない別のもの (*test.dll) に変更してください。

ソース: 名前に Test を含むプロジェクトをビルドしようとすると、同じエラーが発生しました。

于 2012-12-08T00:51:23.947 に答える
1

エラー: API 制限: アセンブリ '....

TFS が 2 つの異なる場所で dll を検索していることを示します。パターンを [チェック] に変更して、テスト アセンブリの値として\*\* test .dll が設定されているかどうかを確認し、それを *test*.dll に変更できます。これにより、複数回ロードするのを防ぐことができます。

その他のエラーは、テスト プロジェクトが再構築されていないことが原因である可能性があります。テスト プロジェクトを再構築してみてください。

これが役立つことを願っています。

于 2012-11-15T17:36:36.770 に答える