2011-06-30 10 views
3

TFSビルドプロセスでは、DefaultTemplateを使用してMSBuildを使用して、同じソリューションの複数の構成(デバッグ/リリース)をビルドしています。私はリリースのみをビルドするか、単体テストを実行するだけですが、両方の設定でビルドを実行すると単体テストは実行されません。ユニットテストはTFS 2010で複数のビルド構成で実行されていません

私は複数の構成を実行しているときに、「プロセス」→「ビルドするアイテム」→「ビルドする構成」のビルド定義で定義されているものが混在プラットフォーム|リリース、混在プラットフォーム|デバッグです。私が単一の構成を実行すると、私はMixed Platforms | ReleaseまたはMixed Platforms | Debugを使用しています。

ここにログ全体を入れることはできません(6000行以上ありますが、testAssembliesを見つけることはできません)。

編集:

ここでは、ログの実際のセクションです。 Mixed Platforms \ Releaseがsearchpathrootのどこから来ているのか分かりません。

また、私たちのスクリプトのいくつかはそのレイアウトでしか動作しないので、私たちはSourceのフォルダにコンパイルすると付け加えるべきです。

デバッグのみ(作品)

実行MSTestをテストアセンブリのための C:\プログラムファイル(x86の)\のMicrosoft Visual Studioの10.0 \ Common7 \ IDE \ MSTest.exe/NOLOGO/usestderr/testSettings:」 C:\ Builds \ 6 \ ProductName \ BuildName \ Sources "/ resultsfileroot:" C:\ Builds \ 6 \ ProductName \ BuildName "を入力します。 \ TestResults "/testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Debug\UnitTestCommon.dll"/TESTCONTAINER: "C:\ 6つの\商品名\ BuildName \ソース\ビルド\テスト¥UnitTestCommon¥bin¥Release¥UnitTestCommon.dll "/ testcontainer:" C:¥Builds¥6¥ProductName¥BuildName¥Sources¥Test¥UnitTestWCF¥bin¥Debug¥UnitTest WCF.dll "/testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestWCF\bin\Release\UnitTestWCF.dll" /publish:"http://dctfs2010.company.dc:8080/tfs 「/ publishbuild: "/製品vstfs:////964 /ビルドのビルド"/teamprojectを: "商品名" /プラットフォーム: "混合プラットフォーム" /味: "デバッグ" ロードC:\は\ 6 \商品名\ BuildNameを構築します\ C:\ Builds \ 6 \ ProductName \ BuildName \ Sources \ Test \ UnitTestCommon \ bin \ Debug \ UnitTestCommon.dll ... ロード中C:\ Builds \ 6 \ ProductName \ Sources \ Product \ Local.testsets ... BuildNameの\ Sources \テスト\ UnitTestCommon \ binに\リリース\ UnitTestCommon.dll ...

DebugとRelease(動作しません)

テストのアセンブリのためのファイル名を指定して実行MSTestを C:\プログラムファイルのMicrosoftのVisual Studio 10.0 \ Common7 \ IDE \ MSTest.exe/NOLOGO/usestderr/testSettings \(x86の):「Cは:\は\ 6 \商品名\ BuildNameの\ Sources \製品を構築します\ Local.testsettings "/ searchpathroot: "C:\混在プラットフォーム\ \ 6 \商品名\ BuildName \ソースのビルドがリリース"/ resultsfilerootを: "\ C:C:\は\ 6 \商品名\ BuildName \ TestResults"/ TESTCONTAINERを":ビルド\ビルド\ 6 \ ProductName \ BuildName \ Sources \ Test \ UnitTestCommon \ bin \ Debug \ UnitTestCommon.dll "/testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Release\UnitTestCommon.dll "/ testcontainer:" C:\ビルド\ 6 \ ProductName \ビルド名\ソース\テスト\ユニットテストWCF.dllリリース\ UnitTestWCF.dll \ \ binに "/publish:"http://dctfs2010.company.dc:8080/tfs/Product"/publishbuild: "vstfs:/// /ビルド/ 962のビルド"/teamprojectを: "商品名" /プラットフォーム: "Mixed Platforms"/flavor: "Release" ディレクトリ "C:¥Builds¥6¥ProductName¥BuildName¥Sources¥Mixed Platforms¥Release"が見つかりません。

+0

これはまったく実行されていませんか?何故なの?ビルドログは何を表していますか? –

+1

「ビルドを実行する」とは何を意味し、どのように複数の構成を指定するのかを具体的に説明できますか?それはIDEかコマンドラインか解決かプロジェクトか...か。 –

答えて

0

私のoutputDirectoryは、私たちのプロジェクトのコンパイル方法が間違っていました。 searchpathrootの問題がどこから来たのか

+2

"Test Assembly Filespec"は、通常は '** \ * test * .dll'ですか?正確にあなたは何を変えましたか? *受け入れられた答え*のためにそれはそのhelpflulではありません。 – mbx

0

ソリューションのプロパティ(ビルドの一部として構築するソリューション)をクリックした場合。構成マネージャーがあります。設定マネージャーでは、 'Debug'、 'Released'、 'Mixed'など、他の設定を見ることができます。あなたは、テストされたプロジェクトが混合構成でビルドされていることを確認できますか?これがビルドされていない場合、test.dllは利用できません。つまり、MSBuildは実行するテストがありません。

なぜテストが実行されていないかを検証する別の方法は、ビルドドロップディレクトリを見てそこにtest.dllが見えるかどうかを確認することです。 test.dllが存在しない場合、問題は構成マネージャーでプロジェクトがどのように構成されているかにあります。

+0

助けてくれてありがとう、私はそれを理解しました:D –

関連する問題