gpt4 book ai didi

asp.net-mvc - Rhino 模拟 : Mocking HttpRequestBase. 文件

转载 作者:行者123 更新时间:2023-12-02 10:45:59 26 4
gpt4 key购买 nike

我有一个 View 和 Controller ,允许用户将文件上传到服务器。这是在 View 中使用 input type='file' 以及在 Controller 中通过获取 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,但是它有一个内部 构造函数。

任何人都可以建议如何让这种方法或其变体发挥作用吗?

最佳答案

模拟HttpFileCollectionBase而不是HttpFileCollectionWrapper:

var filesMock = MockRepository.GenerateMock<HttpFileCollectionBase>();
filesMock.Stub(x => x.Count).Return(1);
mockRequest.Stub(x => x.Files).Return(filesMock);

关于asp.net-mvc - Rhino 模拟 : Mocking HttpRequestBase. 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com