gpt4 book ai didi

unit-testing - 单元测试 Swagger 输出

转载 作者:行者123 更新时间:2023-12-04 19:53:19 26 4
gpt4 key购买 nike

我在 ASP.NET MVC WebAPI 项目中使用 Swagger。该项目安装了 Swashbuckle 块包并生成 Swagger UI 和 Swagger/docs/v1。我一直遇到的一个问题是开发人员会通过不小心命名他们的 webAPI 操作来破坏 swagger 文件。我想添加一个单元测试,以防止我通过在部署后转到 Swagger UI 站点并看到 swagger UI 中显示的 HTTP 500 来发现 swagger/docs/v1 不可用。有人知道如何编写单元测试来验证 Swashbuckle 可以成功生成 swagger 文档吗?

最佳答案

找到了一个很好的方法来做我想做的事:

[Fact]
public async Task TestSwagger()
{
var webHostBuilder =
new WebHostBuilder()
.UseEnvironment("Test") // You can set the environment you want (development, staging, production)
.UseStartup<Startup>(); // Startup class of your web app project

using (var server = new TestServer(webHostBuilder))
using (var client = server.CreateClient())
{
string result = await client.GetStringAsync("/swagger/v1/swagger.json");
JObject root = JObject.Parse(result);
}
}
这使用以下 nuget 包:
  • Microsoft.AspNetCore.TestHost
  • 关于unit-testing - 单元测试 Swagger 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193511/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com