Я зациклился на том, как установить свойство contentencoding, поскольку оно не переопределяется через moq.Set ContentEncoding при издевательском образе WebResponse
я в настоящее время следующие:
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
Любая идея, как я могу высмеивать эту недвижимость?
Попытайтесь посмотреть http://stackoverflow.com/questions/9823039/is-it-possible-to-mock-out-a-net-httpwebresponse –
@IlyaKogan Спасибо, я посмотрел на это, прежде чем, тем не менее, даже с этот пример кода ContentEncoding prperty throws «response.ContentEncoding» бросил исключение типа «System.NullReferenceException» –