Testターゲットが成功したか失敗したかにかかわらず(C#/ Javaのtry...finallyのような)、 "Test"ターゲットの実行後に特定のクリーンアップタスクを実行するにはどうしたらいいですか?try ...最終的にMsBuildで同等
10
A
答えて
12
ターゲット要素にはOnError属性がありますが、エラー時に実行するターゲットに設定できますが、ターゲットにエラーがある場合にのみ実行されるため、シナリオの半分しか解決できません。
ターゲットを連鎖して実行したいテストのステップを表すと考えましたか?
<PropertyGroup>
<TestSteps>TestInitialization;Test;TestCleanup</TestSteps>
</PropertyGroup>
あなたはすべてのテストの初期化を行うことができる場所「TestInitialization」標的である「試験」の目標は、テストを実行し、「TestCleanup」ターゲットはポストテストの任意の並べ替えは、クリーンアップありません。
はその後、真に設定RunEachTargetSeparately属性を使用して、CallTargetタスクを使用して、これらの目標を実行します。成功または失敗に関係なく、すべてのターゲットが実行されます。
完全なサンプルは以下の通りです:
<Project DefaultTargets = "TestRun"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<!-- Insert additional tests between TestInitialization and TestCleanup as necessary -->
<PropertyGroup>
<TestSteps>TestInitialization;Test;TestCleanup</TestSteps>
</PropertyGroup>
<Target Name = "TestRun">
<CallTarget Targets="$(TestSteps)" RunEachTargetSeparately="True" />
</Target>
<Target Name = "TestInitialization">
<Message Text="Executing Setup..."/>
</Target>
<Target Name = "Test">
<Message Text="Executing Test..."/>
<!-- this will fail (or should unless you meet the conditions below on your machine) -->
<Copy
SourceFiles="test.xml"
DestinationFolder="c:\output"/>
</Target>
<Target Name = "TestCleanup">
<Message Text="Executing Cleanup..."/>
</Target>
</Project>
0
または通常の場合には、あなたと同じターゲットを呼び出すために、あなたのエラーの場合の目標、およびDependsOnTargets
またはCallTarget
を呼び出すために<OnError>
を使用しています。
関連する問題
- 1. MATLABで最終的に同等のtry ...
- 2. try..catchマクロラッパー同等のcython
- 3. Objective-CでのTry-Catch同等
- 4. 最終的にtry/catchするのは大丈夫ですか?
- 5. C#のJavaでのパブリック最終静的の同等のJavaでは
- 6. Javaがしようと、最終的には内側のtry-catchパターン
- 7. 角度非同期操作成功、失敗、最終的に
- 8. 2d arraylists in java(最終的に同じコレクションになる理由)
- 9. テンプレートの同等性またはテンプレートの機能的同等性?
- 10. Pythonの '最終的な' /非同期のアサーション
- 11. try/catchを使った最終変数の代入
- 12. 制御フローは、最終的には例外がしようと、最終的には
- 13. Pythonと同等で同等の関数
- 14. NoClassDefFoundErrorのTry/Catchでのクラス終了
- 15. セットと同等と同等
- 16. Expressjs /(終了するには、Node.jsの同等)PHP
- 17. 最終的にはDelphiで試してみてください。
- 18. 最終的な変数
- 19. Xcodeシンボルアイコン...最終的なリスト?
- 20. SIFTの最終的なディスクリプタ
- 21. 最終的にJava 6でユニットテストが行われる
- 22. JavaのC# "静的変数"と同等
- 23. 目的Cのメソッドシグネチャと同等のコード
- 24. Stringはなぜ最終的ですか?
- 25. 最終的なキーワードは何ですか?
- 26. 最終的なクラス変数をGWTで静的にする
- 27. 静的ファクトリメソッドを最終的にするべきですか?
- 28. が観測は最終的に
- 29. zend paginatorは最終的にLIMIT OFFSET
- 30. C++プログラミング、最終的にはモバイル
これを今すぐテストしたところ、完全に動作します。むしろ完全な例をありがとう。 – ripper234
np!それはうまくいった! –
良い答えですが、try/finallyの類推を続けるためには、 "rethrow"する方法を知っておくと良いでしょう。クリーンアップは何を実行する必要がありますが、ビルドはまだ失敗します。 –