に失敗したときにビルドを失敗する方法https://msdn.microsoft.com/en-us/powershell/dsc/dsccicdTFS 2017 - 公表テストは
で説明したように、私は、ビルド定義は、4つのステップが含まCI/CDのデモを使用して、TFS 2017での簡単なビルドプロセスを持っている:
- ファイル名を指定して実行パワーシェルスクリプト。スクリプトの一部として、せがむテストは、エージェント上で実行され、その結果がNUnitの形式
- を使用して、フォルダに保存されているアーティファクトに
Pesterテストが失敗すると、ビルド全体が失敗することがあります。現時点では、公開されたテストの結果が失敗として表示されてもビルドは成功します(ビルドの詳細の問題のセクション)。 ビルド定義のパラメータを見てビルド全体を強制的に失敗させる方法がわかりません。
ありがとう、私はすでにこのようなことをしています。 Pesterテストが失敗した場合、スクリプトはTFSにエラーを返します。 'Write-Output' ## vso [task.logissue type = error] $ errorMessage "。しかし、これはビルド全体で失敗しません。 – Sergei
'Write-Output'は例外をトリガーしていません。デフォルトの出力ストリーム(ホスト)にテキストを送信するだけです。 'Write-Output'を' Write-Error'に変更し、それが役立つかどうかを確認します(ホストエラーストリームにテキストを送信している間に例外が発生するはずです)。 –
私は21行目のWrite-Output by Write-Errorをhttps://github.com/PowerShell/Demo_CI/blob/master/InfraDNS/Build.ps1に置き換えましたが、残念ながらこれは役に立ちません。 UnitTestが失敗し、ビルドステータスで失敗したと表示されますが、ビルド全体がまだうまく完了しています – Sergei