【发布时间】:2010-07-07 14:43:30
【问题描述】:
我正在尝试编写一个测试,我可以模拟一个 HttpRequestBase 以返回这样的帖子值吗?我怎样才能做到这一点?
var collection = new NameValueCollection();
collection.Add("Id", "1");
collection.Add("UserName", "");
var mocks = new MockRepository();
using (mocks.Record())
{
Expect.Call(requestBase.Params).Return(collection);
}
基本上我有一个要求,要求我模拟请求发布参数而不是表单值,因为 UI 客户端不是 html 表单,任何想法如何伪造/模拟 httprequest 发布参数?返回类型是 nameVaueCollection
【问题讨论】:
-
您是否尝试模拟测试控制器?
-
实际上很少有需要在控制器操作中直接使用 http 上下文的情况。这是我要检查的第一件事。 “我真的需要这种依赖吗”。
-
H 伙计们,谢谢,我更新了问题基本上我有一个要求,要求我模拟请求发布参数而不是表单值,因为 UI 客户端不是 html 表单,任何想法如何伪造/模拟 httprequest 帖子参数?返回类型是 nameVaueCollection
-
@Matthew,看看 tvanfosson 的回答。您不应从请求中手动获取这些参数。只需将您的操作设置为将它们作为参数即可。更容易和更清洁。这就是我所说的。
-
@Mattias- 我知道你的意思,只是我们正在做 TDD,而我提到的客户端是富客户端,而不是 html 客户端,我需要针对请求参数编写测试,这可能吗?我还能如何接近。感谢您的耐心等待
标签: asp.net asp.net-mvc rhino-mocks