2017-12-15 4 views
2

私は、HTTP呼び出しを模擬してWiremock.netで少し演奏してきました。私はコンソールアプリケーションからうまく動作していますが、単体テストでそれを実行しようとすると、応答が停止します。単体テストでWiremock.netが応答しない

FluentMockServer serviceMock; 

[TestInitialize] 
public void Initialize() 
{ 
    serviceMock = FluentMockServer.Start(new FluentMockServerSettings { Urls = new[] { "http://+:5010" } }); 
    serviceMock.Given(Request.Create().UsingPost().WithPath("/callbacks/booked")) 
     .RespondWith(Response.Create().WithStatusCode(200).WithHeader("Content-Type", "application/json") 
      .WithBodyAsJson(new List<Callback> 
      { 
       new Callback { CustomerId = 1, RequestedFor = new DateTime(2017, 12, 14, 15, 00, 01) }, 
      })); 
} 

[TestMethod] 
public void CanHitMockEndpoint() 
{ 
    var client = new RestClient("http://localhost:5010"); 
    var response = client.Get<List<Callback>>(new RestRequest("/callbacks/booked")); 

    response.StatusCode.Should().Be(HttpStatusCode.OK); 
} 

[TestCleanup] 
public void Cleanup() => serviceMock.Stop(); 

私は戻って応答を取得し、それがゼロのステータスコードを持っている、とあれば、奇妙なことがある

「リモートサーバーに接続できません」というメッセージ:ここに私の完全なコードです初期化とクリーンアップの項目をコンソールアプリケーションに移動し、それを横に動かすと、テストが機能します。私は、初期化/クリーンアップが実行されていることを確認しているので、間違いなく何かが分かっていないか、奇妙なことが起こっています。

助けがあれば助かります。

答えて

1

私はまだ問題が何であるか完全にはわかりませんが、ポートの処理に絞っています。私は、に、サーバーの作成を修正しました:

serviceMock = FluentMockServer.Start(); 

そして、私のサービスのセットアップのために内部にIPそれワイヤーを使用:

var client = new RestClient(serviceMock.Urls.First()); 

この後、問題なく動作します。

関連する問題