2

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 )
4

1 に答える 1