Specflow+Specrunを使用したSeleniumテストの実行にTeamCity を使用しています。問題は、TeamCity が再実行されたテストをカウントすることです。
たとえば、あるテストが初めて失敗した場合、彼はさらに 2 回再実行されます。teamcity では、3 つのテストが失敗したことがわかりますが、おそらく 1 つのテストでした。
また、最初の再実行が失敗し、他の 2 つが成功した場合、これは teamcity で 2 つが失敗し、1 つが成功したと報告されますが、1 つのテストのみが成功したことを報告する必要があります。
サービスメッセージなどを使用して TeamCity でこれを構成することは可能ですか?
更新しました:
回答に基づいて、powershell スクリプトを使用してログを収集し、teamcity サービス メッセージを使用してビルド ステータスを変更できます。
$path = Get-ChildItem %teamcity.build.checkoutDir%\ProjectFolder\bin\Remote\TestResults\specrun.log
$file = Get-content $path
$total = $file | select-string "Total:"
$passed = $file | select-string "Succeeded:"
$failed = $file | select-string "Failed:"
write-host $( "##teamcity[buildStatus text='Tests {0}, {1}, {2}']" -f $total, $passed, $failed )