• ASP.NET Core 6.0 集成测试


    1. 测试项目必须:

    引用 Microsoft.AspNetCore.Mvc.Testing 包。

    2. 使用默认 WebApplicationFactory 的基本测试

    ASP.NET Core 6 引入了 WebApplication,它消除了对 Startup 类的需求。 若要在没有 Startup 类的情况下使用 WebApplicationFactory 进行测试,ASP.NET Core 6 应用需要通过以下一种方式向测试项目公开隐式定义的 Program 类:

    var builder = WebApplication.CreateBuilder(args);
    // ... Configure services, routes, etc.
    app.Run();
    + public partial class Program { }
    

    3. 在 Web 应用程序中进行更改后,测试项目现在可以将 Program 类用于 WebApplicationFactory。

    [Fact]
    public async Task HelloWorldTest()
    {
        // 该方式在 ASP.NET Core 3.1 中同样适用,只需要将 Program 修改为 Web项目的 Startup 类即可。
        var application = new WebApplicationFactory<Program>()  
            .WithWebHostBuilder(builder =>
            {
                // ... Configure test services
            });
    
        var client = application.CreateClient();
        //...
    }
    

    4. 自定义 WebApplicationFactory

    一个测试项目可以对多个Web项目进行测试,通过从 WebApplicationFactory 来创建一个或多个自定义工厂,可以独立于测试类创建 Web 主机配置:

    5. 官方文档

    docs.microsoft.com

  • 相关阅读:
    “访问”美术馆
    加分二叉树
    有线电视网
    二叉苹果树
    鬼子进村
    遍历问题
    最大子树和
    FBI树
    求前序遍历
    JS如何实现点击页面内任意的链接均加参数跳转?
  • 原文地址:https://www.cnblogs.com/shenghuotaiai/p/16141454.html
Copyright © 2020-2023  润新知