如何在 web api 核心中禁用 startup class 的 swagger 功能以进行集成测试

How to disable swagger function of startup class in web api core for integration testing

我正在编写集成测试,遇到了禁止在启动时调用添加 swagger 函数的要求。我正在使用相同的启动 class 而不对其进行自定义。

请提出一些解决方案来摆脱 swagger 及其内部功能实现,例如添加身份验证。

谢谢。

1) 您可以为集成测试项目使用自定义启动 class。在那里你可以省去使用 swagger 的代码。
(要么)
2) 您可以在appsettings.json中添加一个key来标识一个测试运行。 在Startup.cs-ConfigureServices()和Configure()方法中,可以检查key,如果是test运行,可以避免调用Swagger代码。