3

A には、Web サービスとその単体テストを含む .Net ソリューションがあります。Webサービスには.svcがあり、テストプロジェクトから.csが必要です(私が知る限り、サービスのURLから生成されます。このようなものですsvcutil.exe [WebServiceUrl])。

単体テストを自動化するには、ビルドごとにテスト プロジェクトでこの .cs を更新する必要があるため、svcutil.exe を呼び出して wsdl を取得し、.cs を生成するビルド前イベントを追加しました。このステップでは、サービスを実行する必要がありますが、.cs を作成するためにサービスを実行したくないプロジェクト自体から作成する必要があります。これを行う方法はありますか?または別のアプローチ?

4

1 に答える 1

1

この目的でのみ使用される別のアセンブリでWCFサービスをセルフホストし、svcutil.exeを実行してWSDL出力を取得し、そこから.csファイルを生成することができます。

もちろん、これは、最初にWCFホストアセンブリをビルドし、次にsvcutil.exeを実行してから、単体テストアセンブリとソリューション内の残りのアセンブリをビルドする必要があることを意味します。これはすべて、ビルドワークフローのビルド前のアクティビティで実行できます。

于 2012-08-23T15:14:48.397 に答える