2017-08-23 8 views
3

私はすでに似た質問hereがあることを知っていますが、私の問題は新しい投稿の作成を保証するのに十分違うと思います。TeamCity + CAKE:プロジェクトの概要でVSTestの出力を表示

私はCAKE 0.21.1.0を使用します。

TeamCityのビルドステップとして、私はbuild.ps1を実行しており、これは次にbuild.cakeを呼び出します。 build.cakeスクリプトでは、VSテストランナーを使用して単体テストを実行するRunTestsというタスクを追加しました。

現在、失敗したテストがある時はいつでも、私が見るすべてはチームシティーのメインページ上Exit code 1です:

enter image description here

私は、ビルド自体をログを表示するために移動すると、私は失敗したテストの詳細を見ます:上のスクリーンショットで

enter image description here

、私はの一部としてチームシティーのメインページに表示したいテキスト出力を強調していますExit code 1の代わりに、プロジェクトの要約。

ビルドスクリプトのinteraction with TeamCityの一部として含めることができるように、VSテストランナーの出力をキャプチャするにはどうすればよいですか?

UPDATE:

his replyためmholo65 @ありがとうございます!彼が概説した最初のアプローチを試みましたが、残念ながらそれは私のためには機能しませんでした。

enter image description here

そして、この:

VSTest("./**/bin/Release/CakeTest.dll", new VSTestSettings() { Logger = "trx"}); 
TeamCity.ImportData("vstest", "./TestResults/*.trx"); 

私のチームシティーのビルドエージェントのテストを実行している、これは私の作業/チェックアウトのディレクトリです:

は、私はこれらの行を含めるために私 build.cakeスクリプトを修正しました結果ファイルへの完全なパスです:

enter image description here

しかし、これは私が代わりにVSTest出力Total tests: 5. Passed: 3. Failed: 2. Skipped: 0.の、チームシティーのメインページに表示されるものはまだです:あなたは2つのオプションがあり

enter image description here

答えて

4

  1. trx形式に出力するvstest.console.exeテスト結果を持って、チームシティーでいることをインポートします。私。 VSTestSettings.Logger"trx"に設定し、TeamCity.ImportData("vstest", "TestResults\the_name_of_the_result_file.trx")を使用してインポートします。 trxファイルへのパスMUSTは、チェックアウトディレクトリに対して相対的である必要があります。詳細については、thisを参照してください。ここでの注意点は、vstest.console.exetrxファイルを配置する場所(詳細についてはthisを参照)を伝えることはできません(MSTest.exeとは異なります)。
  2. hereからカスタムVSTestLoggerをダウンロードしてインストールし、VSTestSettings.Logger"TeamCity"に設定します。このオプションを使用すると、ユニットテストを実行しているときにリアルタイムレポートが表示されます。
+0

返信いただきありがとうございます。私はあなたの最初のアプローチを試みたが、残念ながらそれは私にとってはうまくいかなかった。私はどのような措置をとったのか、最終結果は何かを含むように投稿を更新しました。親切に見て、フィードバックをくれますか?とても有難い! –

+1

遅く返事を申し訳ありません。グロブパターンから 'FilePath'を作成することはできません。代わりに、次のようにする必要があります。 ' var testResult = GetFiles( "./ TestResults/*。trx")。FirstOrDefault(); TeamCity.ImportData( "vstest"、 "./TestResults/" + testResult.GetFilename()); ' – mholo65

+0

また、TeamCityログを確認してください。これは '## teamcity [importData type =' vstest 'path =' TestResults/foobar.trx '] 'と' TestResults/foobar.trx '(291.39 KB)のデータを' vstest 'processor' – mholo65

関連する問題