6

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 にあるものだけです。これを些細なものにするパターン/戦略/アプローチ/私が見逃しているものはありますか?

4

3 に答える 3