【发布时间】:2015-04-15 04:38:11
【问题描述】:
我不知道如何设置 contentencoding 属性,因为它不能通过 moq 覆盖。
我目前有以下:
var expected = "dfgdfgdfgdfg";
var expectedBytes = Encoding.UTF8.GetBytes(expected);
var responseStream = new MemoryStream();
responseStream.Write(expectedBytes, 0, expectedBytes.Length);
responseStream.Seek(0, SeekOrigin.Begin);
var response = new Mock<HttpWebResponse>();
response.Setup(c => c.GetResponseStream()).Returns(responseStream);
response.Setup(c => c.ContentEncoding).Returns("UTF8");
但我得到以下异常:
Result Message: Invalid setup on a non-virtual (overridable in VB) member: c => c.ContentEncoding
知道如何模拟这个属性吗?
【问题讨论】:
-
@IlyaKogan 谢谢,我之前看过,但是即使使用该示例代码,ContentEncoding prperty 也会抛出
'response.ContentEncoding' threw an exception of type 'System.NullReferenceException'