私はすでに似た質問hereがあることを知っていますが、私の問題は新しい投稿の作成を保証するのに十分違うと思います。TeamCity + CAKE:プロジェクトの概要でVSTestの出力を表示
私はCAKE 0.21.1.0を使用します。
TeamCityのビルドステップとして、私はbuild.ps1
を実行しており、これは次にbuild.cake
を呼び出します。 build.cake
スクリプトでは、VSテストランナーを使用して単体テストを実行するRunTests
というタスクを追加しました。
現在、失敗したテストがある時はいつでも、私が見るすべてはチームシティーのメインページ上Exit code 1
です:
私は、ビルド自体をログを表示するために移動すると、私は失敗したテストの詳細を見ます:上のスクリーンショットで
、私はの一部としてチームシティーのメインページに表示したいテキスト出力を強調していますExit code 1
の代わりに、プロジェクトの要約。
ビルドスクリプトのinteraction with TeamCityの一部として含めることができるように、VSテストランナーの出力をキャプチャするにはどうすればよいですか?
UPDATE:
がhis replyためmholo65 @ありがとうございます!彼が概説した最初のアプローチを試みましたが、残念ながらそれは私のためには機能しませんでした。
そして、この:
VSTest("./**/bin/Release/CakeTest.dll", new VSTestSettings() { Logger = "trx"});
TeamCity.ImportData("vstest", "./TestResults/*.trx");
私のチームシティーのビルドエージェントのテストを実行している、これは私の作業/チェックアウトのディレクトリです:
は、私はこれらの行を含めるために私build.cake
スクリプトを修正しました結果ファイルへの完全なパスです:
しかし、これは私が代わりにVSTest出力Total tests: 5. Passed: 3. Failed: 2. Skipped: 0.
の、チームシティーのメインページに表示されるものはまだです:あなたは2つのオプションがあり
返信いただきありがとうございます。私はあなたの最初のアプローチを試みたが、残念ながらそれは私にとってはうまくいかなかった。私はどのような措置をとったのか、最終結果は何かを含むように投稿を更新しました。親切に見て、フィードバックをくれますか?とても有難い! –
遅く返事を申し訳ありません。グロブパターンから 'FilePath'を作成することはできません。代わりに、次のようにする必要があります。 ' var testResult = GetFiles( "./ TestResults/*。trx")。FirstOrDefault(); TeamCity.ImportData( "vstest"、 "./TestResults/" + testResult.GetFilename()); ' – mholo65
また、TeamCityログを確認してください。これは '## teamcity [importData type =' vstest 'path =' TestResults/foobar.trx '] 'と' TestResults/foobar.trx '(291.39 KB)のデータを' vstest 'processor' – mholo65