如何在.NET框架(非核心)中为实现IHttpHandler的ProcessRequest的方法最小起订量HttpContext?

问题描述 投票:0回答:0
我有一个在

.NET 4.7.1 中实现

IHttpHandler
接口的类。 该类实现了 ProcessRequest
,它接受 
HttpContext
 实例。

我正在尝试使用

Moq 创建

ProcessRequest
的测试。 Moq 允许我为 httpContextBase
 创建模拟,但不能为 
HttpContext
 创建模拟。

Mock<HttpContext> mockHttpContext = new Mock<HttpContext>();
运行时错误:

要模拟的类型(HttpContext)必须是接口、委托或 非密封、非静态类。

如果我模拟

HttpContextBase

,最终调用该方法并传递它会给出错误:

无法从“System.Web.HttpContextBase”转换为 'System.Web.HttpContext'

有没有办法嘲笑

HttpContext

?我无法修改类或方法,因为它不是我的代码。

c# .net moq httpcontext .net-4.7.1
© www.soinside.com 2019 - 2024. All rights reserved.