如何在单元测试中模拟ControllerContext对象上的缓存对象?我尝试创建了一个包装类,如下所示(因为缓存对象是一个密封类),但没有成功。
var mockControllerContext = new Mock<ControllerContext>();
var mockhttpContext = new Mock<HttpContextBase>();
mockhttpContext.SetupGet(o => o.Cache).Returns(
new CacheWrapper(mockControllerContext.Object.HttpContext.Cache));
mockControllerContext.SetupGet(
o => o.HttpContext).Returns(mockhttpContext.Object);
this.tennisMatchupController.ControllerContext = mockControllerContext.Object;
发布于 2009-07-23 02:08:20
HttpContext.Current = new HttpContext(new HttpRequest(null, "http://tempuri.org", null), new HttpResponse(null));
发布于 2009-05-28 12:01:11
您可以尝试使用Typemock Isolator,它可以伪造开箱即用的密封类,因此您不需要这些包装器。
https://stackoverflow.com/questions/783228
复制相似问题