Nunit フレームワークを使用して、ServiceStack API の単体テストを作成しました。以下のようなコード
public class AppHost : AppHostBase
{
public AppHost()
: base("SearchService", typeof(SearchService).Assembly)
{
}
}
以下のサービスクラス
public class SearchService:Service
{
public SearchResponse Get(SearchRequest request)
{
// to stuff
Response.StatusCode = (int)HttpStatusCode.OK;
return SearchReponse;
}
}
以下の単体テストクラス
[TestFixture]
public class SearchServiceTests
{
private readonly ServiceStackHost appHost;
public SearchServiceTests()
{
appHost = new BasicAppHost(typeof(SearchService).Assembly)
{
}.Init();
}
[TestFixtureTearDown]
public void TestFixtureTearDown()
{
appHost.Dispose();
}
[Test]
public void TestMethod1()
{
var service = appHost.Container.Resolve<SearchService>();
var r= service.Get(new SearchRequest());
Assert.That(r, Is.Not.Null);
}
}
Response オブジェクトの null 参照例外が発生しています。クライアント (郵便配達員または残りのクライアント) を使用してサーバーにアクセスすると、応答オブジェクトが初期化されますが、単体テストでは応答オブジェクトが初期化されません。前もって感謝します。