在即将到来的项目中,我将用C#编写一个应用程序,部分必须与HTTP服务器通信.我非常喜欢编写我的代码TDD风格,如果我可以在我的测试中模拟所有的HTTP请求,我会喜欢它.
这里有人知道一个易于模拟的HTTP客户端框架吗?
PS.我通常使用Moq进行模拟.如果您知道一些更好的模拟HTTP请求的免费模拟框架,那也会很好.
DotNetOpenId是一个开源项目,您可以从中重用代码,使用HTTP包装类进行所有调用.在测试期间,会注入模拟HTTP处理程序,以便在调用之前以编程方式设置响应.它有另一种模式,它托管自己的ASP.NET站点,以便可以运行完整的实际堆栈.
虽然它没有作为一个独立的解决方案被淘汰,但效果很好.如果您有兴趣重复使用它,请参阅以下相关链接.您可以通过dotnetopenid@googlegroups.com寻求帮助.
实时一: StandardWebRequestHandler.cs
模拟: MockHttpRequest.cs,TestWebRequestHandler.cs