c# - 当我需要传入 HttpResponse 时,如何测试第三方框架

标签 c# asp.net testing httpresponse

我有一个第三方框架,我用它来编写 excel 文档并让用户下载它。

问题是用户试图导出大量记录,并抛出 OutOfMemoryException。

我正在尝试编写一个测试来验证这是在第三方框架中发生的,而不是在我的代码中发生的,但是 Save 方法将 HttpResponse 对象作为方法之一。

我如何获取/模拟/传递任何 HttpResponse 对象?

使用示例:

excel.Save("test.xls", 
    OpenType.OpenInExcel, 
    FileType.Excel2003,
    HttpContext.Current.Response);

显然 HttpContext.Current.Reponse 在单元测试中不起作用,因此我的问题。

最佳答案

HttpRequestBase from .Net 3.5 SP1 就是为此目的而设计的,但除非第三方代码使用它,否则它对你没有任何好处。 (这是一个直接替代品,所以使用起来并不难)

如果其他代码不使用它,您可以尝试将代码托管在 Cassini 中并通过 HTTP 请求它。

关于c# - 当我需要传入 HttpResponse 时,如何测试第三方框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1544647/

相关文章:

c# - 如何将所有者窗口传递给 Show() 方法重载?

javascript - 单选按钮 asp.net 突出显示 div

asp.net - 在 asp.net mvc 中使用 wkhtmltopdf 需要很长时间才能启动

windows-phone-7 - 直接在手机上测试WP7原型(prototype)

testing - 功能测试工具有进展吗?

C#:您如何为您的应用程序处理/解析消息,例如拖放相关文件类型?

c# - 如何获取 ServiceBusClient 的连接字符串?

javascript - 使用 Jquery 的第二计时器

javascript - Angular - 没有在 'it' 函数的回调中传递 $controller 测试失败,为什么?

c# - ASP WebAPI 可以有可选的 RoutePrefix 吗?