首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RhinoMocks模拟密封类

用RhinoMocks模拟密封类
EN

Stack Overflow用户
提问于 2015-05-25 15:42:43
回答 1查看 1.4K关注 0票数 0

我对TDD相当陌生,我试图在MVC应用程序中模拟HttpContextBase。我还需要模拟响应属性和该属性的HttpCookieCollection。

但是HttpCookieCollection类是密封的,RhinoMocks说它不能模拟密封类。

对我该如何处理这件事有任何建议。

我的考试如下:

代码语言:javascript
复制
    [TestMethod]
    public void CreateSignInTicketCreateTempCookie()
    {
        const string email = "dave@somewhere.co.uk";

        var mockHttpContextBase = MockRepository.GenerateMock<HttpContextBase>();
        var response = MockRepository.GenerateMock<HttpResponseBase>();

        var mockUserRepository = MockRepository.GenerateStub<IUserRepository>();
        var cookieCollection = MockRepository.GenerateStub<HttpCookieCollection>();

        mockHttpContextBase.Stub(x => x.Response).Return(response);

        response.Stub(x => x.Cookies).Return(cookieCollection);

        var webAuth = new WebAuthenticator(mockUserRepository);

        webAuth.CreateSignInTicket(mockHttpContextBase, email);

        Assert.IsTrue(mockHttpContextBase.Response.Cookies.Count == 1);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-25 15:52:50

我想说的是,嘲笑HttpCookieCollection有点过火了--这只是存储cookie的一种方式--您不会嘲笑IList<Cookie>,对吗?

简单地做

代码语言:javascript
复制
response.Stub(x => x.Cookies).Return(new HttpCookieCollection());

或者类似的(没有使用犀牛Mocks,所以不确定这是否完全正确)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30441775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档