1

いくつかの単体テストを作成し、mvc3、moq、およびmvccontribを使用してユーザーエージェント文字列をmoqアウトする方法を見つけられませんでした。moqとmvccontribでuseragent文字列をモックする方法はありますか?

iveはこれを実行しようとしていますが、useragentプロパティは読み取り専用です。

 public static RouteController GetRouteController()
    {
        var controller = new RouteController();
        var builder = new TestControllerBuilder();

        builder.HttpContext.Request.UserAgent = "foo-agent";
        //mocks up the asp pipeline (http context, asp session, etc)
        builder.InitializeController(controller);


        return controller;
    }
4

1 に答える 1

1

わかりました、それを行う方法を見つけました。リクエストに応じてrhinomocksスタブを使用する必要があります。これは私のために働きます。

public static RouteController GetRouteController(string useragent)
        {
            var controller = new RouteController();
            var builder = new TestControllerBuilder();

            builder.InitializeController(controller);
            //mock out the useragent string
            controller.HttpContext.Request.Stub(r => r.UserAgent).Return(useragent);
            return controller;
        }

これが他の誰かに役立つことを願っています。

于 2013-03-15T00:21:26.077 に答える