1

servicestack を使用して、型などを使用した単体テストの例があります。例を次に示します: GetFactorial

上記のようなテストで REST スタイル サービスをテストしたいと思います。

以下は、REST 単体テストFileServiceの例です。

PUT 単体テストでは、Path 引数をクラス引数ではなく URL テキストで指定する必要があることに注意してください。もう 1 つの例はこちらです。ここでは、URL に変換する必要がある完全に優れた要求モデルがあります。テストのために、URL に引数を作成する必要がなくなり、上記のようなシステムを次のように使用したいと思います。

var response = restClient.Put<FilesResponse>(new Files { TextContents = ReplacedFileContents, Path = "README.txt" });

また

var singleCustomer = restClient.Get<Customer>(new Customer {Id=1};

これは可能ですか?

次に、DirectServiceClientがあります。それは役に立ちますか?最後に、servicestack を使用してサービスを記述し、さまざまなタイプのクライアントからサービスを呼び出すことができます。そのような単体テストを記述したいと思います。

これは可能ですか?

4

1 に答える 1

2

ルート変数でDTOを装飾し、ServiceStackの「新しいAPI」を使用すると、ルートを自動的に検出できます。非常に最小限のコードを書くことで逃げることができ、それでも強力な型付きRESTAPIを取得できます。

コードは次のようになります。

Customer singleCustomer = restClient.Get(new Customer {Id=1});

https://github.com/ServiceStack/ServiceStack/wiki/New-Apiを参照してください

コメントに応じて、DTOはIReturnインターフェイスに準拠する必要があります。

[Route("/customer/{Id}")]
public Customer : IReturn<Customer> {
   public int Id {get;set;}
}

以下のIRestClientインターフェイスは、IReturnオブジェクトを想定しているため、タイプを指定せずにDTOを操作できるようになります。

public interface IRestClient 
{
   TResponse Get<TResponse>(IReturn<TResponse> request);
   ...
}
于 2013-01-29T14:42:04.267 に答える