0

このサンプル チュートリアルを使用して、単純な Web API を作成します。

次に、ここから RestSharp の PCL バージョンをダウンロードし、コンパイルして、このテスト コードを実行しようとしました。

 [TestFixture]
    public class UnitTest1
    {
        [Test]
        public void TestMethod1()
        {
            var client = new RestClient("http://localhost:18506/api/");
            var request = new RestRequest("products", Method.GET);
            client.ExecuteAsync<List<Product>>(request, response =>
            {
                foreach (var a in response.Data)
                {
                    Console.WriteLine(a.Name);
                }
            });
        }

        public class Product
        {
            public string Name { get; set; }
        }
    }

コンソールには何も書き込まれておらず、コールバック内にブレークポイントを置いてもヒットしません。

助言がありますか?

ティア。

4

1 に答える 1

1

非同期 HTTP 呼び出しをトリガーしましたが、それが完了するのを待っているようには見えません。待機しないと、Web API が要求にヒットする前に単体テストが終了する可能性があります。

client.ExecuteAsync<List<Product>>(request, response =>
{
    ...
}).Result;

しかし、単体テストでは、おそらく非同期 HTTP 呼び出しで複雑になる必要はありません。標準の同期呼び出しを使用して、受信した結果をアサートするだけです。

于 2013-07-13T15:01:03.670 に答える