小编ren*_*ato的帖子

如何对使用 Response.OnStarting 的 .NET 中间件进行单元测试

因此,我创建了一个 .net 核心中间件,用于向响应添加标头。我没有找到对这个中间件进行单元测试的方法,因为它使用OnStarting回调,我无法想象如何模拟或强制执行它。

这是中间件的示例:

public async Task InvokeAsync(HttpContext context, RequestDelegate next)
{
    context.Response.OnStarting(() =>
    {
        context.Response.Headers.Add("Name", "Value");

        return Task.CompletedTask;
    });

    await next(context);
}
Run Code Online (Sandbox Code Playgroud)

由于中间件接口需要 的具体实例HttpContext,例如,我无法想象使用 来模拟它的方法FakeItEasy

c# testing middleware xunit asp.net-core

3
推荐指数
2
解决办法
5207
查看次数

标签 统计

asp.net-core ×1

c# ×1

middleware ×1

testing ×1

xunit ×1