You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AspNetCore测试:WebApplicationTestFixture类未找到问题咨询

关于ASP.NET Core 2.1 RC中WebApplicationTestFixture类的问题

你提到的WebApplicationTestFixture类并不是Microsoft.AspNetCore.Mvc.Testing包中的正式公开类型——在ASP.NET Core 2.1的候选发布版阶段,官方的测试模型还在迭代调整,你看到的示例里的这个类其实是一个自定义封装类,需要你自行创建它。

解决步骤

  1. 确认已安装依赖包
    首先确保你的项目已经安装了Microsoft.AspNetCore.Mvc.Testing的RC版本包,这是Web应用测试的基础依赖。

  2. 自行实现WebApplicationTestFixture类
    这个类本质是对官方WebApplicationFactory<TStartup>的简单封装(在2.1 RC中,WebApplicationFactory是核心测试基类)。你可以创建如下实现:

using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.AspNetCore.Hosting;

public class WebApplicationTestFixture<TStartup> : WebApplicationFactory<TStartup> 
    where TStartup : class
{
    // 可选:如果需要自定义WebHost配置,可以重写此方法
    protected override IWebHostBuilder CreateWebHostBuilder()
    {
        return WebHost.CreateDefaultBuilder()
            .UseStartup<TStartup>();
    }
}
  1. 正常使用你的测试代码
    完成上述类的创建后,你原来编写的测试代码就可以正常运行了——此时WebApplicationTestFixture<Startup>已存在,依赖注入能正确解析它。

补充说明

在ASP.NET Core 2.1正式发布后,官方直接推荐使用WebApplicationFactory<TStartup>作为测试固定类,不再需要自定义WebApplicationTestFixture。但在你使用的RC阶段,示例中可能用了这个自定义类名来简化演示,所以需要你手动实现它。

内容的提问来源于stack exchange,提问作者nikib3ro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:57:56