2009-09-02 20 views
1

あなたのWebサービスを別々のプロジェクトに入れても、私たちのWebサービスはすべてWAPプロジェクトのさまざまなフォルダにありますか?混乱。とにかく、私は新しいWebプロジェクトを作成しました。ユニットテスト、嘲笑などのほかに、私は新しいWebプロジェクトを作成しました。私はテスト目的のために他のWebプロジェクトのサービスの1つを消費したい。Webサービスを消費してテストする最良の方法

しかし、他のWebプロジェクトにプロジェクトレフェリーを追加すると、このテストWebプロジェクトのweb.configには同じものが含まれていないため、サードパーティのコントロールなどの参照エラーが発生する可能性がありますキー。

明らかに、これは間違った方法です。現時点でサービスをどのように保管しているかをリファクタリングすることなく、サービスを利用する簡単な方法は何ですか?

+0

明確にするため、ソースプロジェクトはWebサービスプロジェクトですか?それとも普通の古いasp.netプロジェクトですか? – TJB

+0

プレーンWAPプロジェクト。私が持っている問題は、テストWAPプロジェクトにWAPプロジェクトのdllを追加することですが、私はWAPプロジェクト(.asmxを持つプロジェクト)にも同じ参照を追加する必要があります。 – PositiveGuy

答えて

2

ソースプロジェクトがWebサービスプロジェクトの場合は、新しいasp.net Webアプリケーションプロジェクトを作成し、右クリックしてサービスリファレンスをサービスプロジェクトに追加できます。

そこから、サービスをテストする方法はたくさんあります。すべての異なるサービスメソッドを実行するページを作成し、結果を示すWebページを生成するか、または各サービスメソッドをテストするための入力を可能にするページを作成できます。

ここでは、Webサービスを開始するためのMSDNのページがあります。これらのWebサイトには良いチュートリアルがあります。 http://msdn.microsoft.com/en-us/library/t745kdsh.aspx

私ももちろん、他のサービスオプション http://msdn.microsoft.com/en-us/netframework/aa663324.aspx

としてWCFサービスを調査示唆、ユニットテストは、あなたの最善の策かもしれません。ビジュアルスタジオでは、ユニットテストプロジェクトを追加して、Webサービスのクラスをテストし、個々のメソッドをそのようにテストできます。

+0

これは、サービスが最近何か他のものとは別のプロジェクトになることは私にとって意味があります! – PositiveGuy

1

プロジェクト参照として追加しないで、WebサービスをWeb参照として追加して消費します。これが機能するには、サービスは何らかの形で展開されなければなりません(たとえそれがその箱の上にあっても)。

もう一つの方法は、VS2008であるあなたは、この方法(素晴らしい作品と私​​はVS2K8 Proを持っている)Webサービスをテストすることができます。古いバージョンでは http://msdn.microsoft.com/en-us/library/ms243399.aspx

こちらの記事です: http://msdn.microsoft.com/en-us/magazine/cc163830.aspx

+0

.asmxが他のWebプロジェクトにある場合、「サービス参照」はどうですか?他のWAPプロジェクトを、私の新しいテストWAPプロジェクトがある私のソリューションに含めるのですか、それともちょっとだけDLLを使って参照することはできますか? – PositiveGuy

+0

これを使用してWeb参照を追加できます。サービス参照の追加を開くと、詳細ボタンに移動してWeb参照を追加するだけです。参照は、デプロイされたサービスを探しています。 Webサービスが実行されているURLが必要になります。 – klabranche

+0

VS 2008 Proをお持ちの場合は、上記で提供したリンクを使用して、展開する前にテストすることができます。 – klabranche

0

あなたの現在のWebアプリケーションの場合プロジェクトがサービスを提供している場合、そのサービスコードをWebサービスプロジェクトに移行することができます。

どちらかあなたの現在のコードベースを維持し、ちょうど再手配ができ、新たなプロジェクトにサービスを提供しているコード/クラスを抽出し、

[WebMethod()] 

この方法としてサービスを提供している方法を飾りますサービスとして公開するためにいくつかの属性を追加します。

代わりに、現在のWebアプリケーションにWebサービスを追加することもできます。 ウェブアプリケーションと並行して生きていくことができます。ウェブメソッドを作成して、どんなセリフでも公開することができます。

テストプロジェクトでは、これらのサービスのいずれかを消費し、個々のメソッドをテストできます。

関連する問題