2011-11-07 19 views
0

TeamCityビルドサーバーで自動的にコンパイルされるC#VS2010プロジェクトが多数あります。
ビルドサーバーはプロジェクトをコンパイルし、出力に対して自動単体テストを実行します。
問題は、テストの一部がローカルサーバー上のWCFサービスと通信しようとしていることです。TeamCityビルドサーバーからIIS7へのWCFサービスの公開

BuildServerはプロジェクトをビルドするだけで、出力サービスはIIS7(TeamCityと共に実行)に公開しないため、テストは失敗します。
コードがコンパイルを完了するたびにTeamCityに(* MSBuild.exeを介して)* * .svcファイルを自動的に公開する簡単な方法はありますか?

は、[ありがとうござい=行うに

答えて

0

最も簡単な方法は、チームシティーのチェックアウトディレクトリでIIS7を指すようになります - あなたは、展開をシミュレートすることなく、サービスに対してテストを実行することができますので、それが構築されます。また、「デプロイメント」前に実行される従来の単体テストと、第1セットが成功して「デプロイメント」が発生した後に実行される第2セットの2つのテストを作成することもできます。

TeamCityから展開することは、ネットワークとアプリケーションのトポロジに依存しますが、確かに動作します。

0

Webサービスを展開するには、Web Deployを使用してサービスをIISにパッケージ化してインストールします。しかし、実際の問題は、あなたのテストがあなたのサービスに与える依存性です。サービスインタフェースを抽象化し、テストではモックフレームワークと好みのDIコンテナを使用して、サービスを稼働させる必要はありません。

HTH。

関連する問題