将AcceptType添加到HttpRequestBase的Mock中

时间:2015-06-24 22:41:07

标签: c# asp.net-web-api moq

这里的简单问题。我试图模拟HttpRequestBase并添加两个AcceptTypes。

我认为这是方法,但它不是,谷歌搜索/挖掘并没有向我透露任何东西。

var request = new Mock<HttpRequestBase>();
   request.Setup(p => p.HttpMethod).Returns("POST");
   request.Setup(a => a.Headers.Add("AcceptType", "ABC"));
   request.Setup(z => z.Headers.Add("AcceptType", "QWE"));

修改

根据dee的回答,我明白了我是如何误解模拟设置/返回组合的。

所以我的最终答案如下所示,但它完全取决于答案。

new string[] fakeHeaders = new string[]
{ "ABC","QWE" };

Mock<HttpRequestBase> requestBaseMock = new Mock<HttpRequestBase>();
requestBaseMock.Setup(r => r.HttpMethod).Returns("POST");
requestBaseMock.Setup(r => r.Headers).Returns(fakeHeaders);

1 个答案:

答案 0 :(得分:1)

您是否尝试先创建假标题集合然后从Setup的{​​{1}}返回

Headers