У меня есть представление и контроллер, которые позволяют пользователю загружать файл на сервер. Это делается в представлении с использованием input type='file'
и в контроллере путем получения значения Request.Files
(HttpRequestBase
, возвращающего HttpFileCollectionWrapper
).
Я испытываю трудности с этим издевательством, используя Rhino Mocks.
HttpContextBase mockHttpContext = MockRepository.GenerateMock<HttpContextBase>();
HttpRequestBase mockRequest = MockRepository.GenerateMock<HttpRequestBase>();
mockHttpContext.Stub(x => x.Request).Return(mockRequest);
mockRequest.Stub(x => x.HttpMethod).Return("GET");
// Next line fails - throws MissingMethodException
// (Can't find a constructor with matching arguments)
HttpFileCollectionWrapper files =
MockRepository.GenerateMock<HttpFileCollectionWrapper>();
files.Stub(x => x.Count).Return(1);
mockRequest.Stub(x => x.Files).Return(files);
Конструктор для HttpFileCollectionWrapper
требует HttpFileCollection
, однако он имеет конструктор internal
.
Кто-нибудь может подсказать, как заставить этот подход или его вариант работать?