rhu*_*hes 7 c# asp.net-mvc unit-testing moq
我正在尝试使用MVC 4,Moq 4和C#4.5为ConrollerContext对象模拟HttpResponse
我的代码在这里:
var context = new Mock<HttpContextBase>();
var response = new Mock<HttpResponseBase>();
context.SetupProperty(c => c.Response = response);
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用Setup().Returns()
和SetupGet()
,但我不断收到以下错误:
"无法将属性或索引器'System.Web.HttpContextBase.Response'分配给 - 它是只读的.
我试过谷歌搜索并在这个网站上搜索,但我似乎无法找到答案.
对于仅获取属性,请使用SetupGet(..)
,并指定一个.Returns(..)
带有要注入的返回值的子句:
var context = new Mock<HttpContextBase>();
var response = new Mock<HttpResponseBase>();
context.SetupGet(c => c.Response)
.Returns(response.Object);
Run Code Online (Sandbox Code Playgroud)
看来我没有将正确的对象传递给方法Returns()
。我应该通过模拟的Object
财产。
这是正确的代码:
var context = new Mock<HttpContextBase>();
var response = new Mock<HttpResponseBase>();
context.Setup(c => c.Response).Returns(response.Object);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4256 次 |
最近记录: |