【发布时间】:2015-05-25 15:42:43
【问题描述】:
我对 TDD 相当陌生,我正在尝试在 MVC 应用程序中模拟 HttpContextBase。我还需要模拟 Response 属性和它的 HttpCookieCollection。
HttpCookieCollection 类是密封的,RhinoMocks 说它不能模拟密封的类。
关于我应该如何解决这个问题的任何建议。
我的测试如下:
[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);
}
【问题讨论】:
标签: c# unit-testing tdd rhino-mocks