基本的に、私はDLLプロジェクトで、構築されたデバッグサーバーの下で実行されているかなり標準的なWebサービス呼び出しを持っています。
このように見えます
<WebInvoke(Method:="POST", BodyStyle:=WebMessageBodyStyle.Bare, UriTemplate:="")>
Public Function POSTOrder(httpPostOrder As Contract.APIOrder) As Contract.Response.Order
....
Return (httpResponse)
End Function
プロジェクトを実行すると、フィドラーを使用してXML POSTリクエストをプロジェクトに送信できます。上記の関数にブレークポイントを設定すると、プロジェクトがヒットします。
ここで、この関数の簡単な単体テストを設定したいので、テストプロジェクトとこのテストを追加しました。
<TestMethod()>
Public Sub TestPostOrder()
Dim r As String
Dim w As New Net.WebClient
W.Headers.Add("Content-Type", "application/xml")
Dim x =
<?xml version="1.0"?>
<order_info>
<event_id>103153</event_id>
<id>1</id>
.....
</order_info>
r = w.UploadString("http://localhost:15034/orders/?api_key={sometext}", "POST", x.ToString)
End Sub
私は知っています、世界で最大のユニットテストではありませんが、それは今のところ重要ではありません。
したがって、このテストを実行すると、実行されて成功します。単体テストをデバッグしてステップスルーし、UPLOADSTRING呼び出しが成功して、有効な情報を返すことを確認することもできます。
ただし、テスト対象の実際の関数にブレークポイントを設定しても、ヒットすることはありません。
この質問を見つけました
しかし、私はそれを試しましたが、サイコロはありませんでした。
単体テストで適切に構成されたものがないので、デバッグ可能なコンテキストで実際のDLLを開始していないと思いますが、これまでのところ、何も見つかりませんでした。
何か案は?