ServiceStack サービスをテスト可能にしたいと考えています。
現在、私は持っています:
[RequireFormsAuthentication]
public object Delete(DeleteRequest request)
{
var originalRequest = (HttpRequest)Request.OriginalRequest;
var identity = originalRequest.RequestContext.HttpContext.User.Identity;
return othercode(identity);
}
RequireFormsAuthentication の場所
public class RequireFormsAuthenticationAttribute : RequestFilterAttribute
{
public override void Execute(IHttpRequest req, IHttpResponse res, object requestDto)
{
var originalRequest = (HttpRequest)req.OriginalRequest;
var identity = originalRequest.RequestContext.HttpContext.User.Identity;
if (!identity.IsAuthenticated)
{
res.StatusCode = (int)HttpStatusCode.Forbidden;
res.EndServiceStackRequest(skipHeaders: true);
}
}
}
「othercode()」によって使用されるすべての依存関係をモックアウトしました。残っているのは、基本クラス Service にあるものだけです。これを些細なものにするパターン/戦略/アプローチ/私が見逃しているものはありますか?