单元测试 Swagger 输出

2024-03-01

我在 ASP.NET MVC WebAPI 项目中使用 Swagger。该项目安装了 Swashbuckle nugget 包并生成 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单元测试 Swagger 输出 的相关文章

随机推荐

  • iOS MobileVLCKit 存档问题

    在尝试归档我的项目时 我得到了这个error ld bitcode bundle could not be generated because Users MobileVLCKit MobileVLCKit framework Mobile
  • 如何将 Apigility 与现有 ZF2 应用程序结合使用?

    我有一个带有一些模块的 ZF2 应用程序 我希望允许在我的应用程序中使用具有 Apigility 的现有模块 我尝试使用 Composer 安装这些模块 require php gt 5 3 3 phpoffice phpexcel mon
  • 为映射和/或嵌套对象自定义 Spring @RequestParam 反序列化

    RestController class MyController RequestMapping public void test Container container Spring 默认使用 Dot Notation 来反序列化嵌套的
  • 为什么 Google+ 登录完成登录时出错?

    我最近一直在处理 Android 上的 Google 登录问题 有一件事一直困扰着我 在他们所有官方认可的示例中 没有一个方法专门显示登录过程 每次尝试让某人登录时调用的方法称为resolveSignInError 如下所示 private
  • 溢出与 Inf

    当我输入一个大于 max 的数字时double https en wikipedia org wiki Double precision floating point format在 Matlab 中大约是1 79769e 308 例如10
  • NSOutlineView拖线卡住+蓝色边框

    我想要正确的行为蓝色拖动条 and 没有蓝色矩形拖动时 你知道我的错误在哪里吗 如您所见 蓝色条卡在顶部 就像本主题中一样 使用拖放重新排列时 小圆线条卡在 NSOutlineView 顶部 https stackoverflow com
  • 如何在 playwright-java 中切换到新选项卡或窗口?

    我们如何切换到运行测试时打开的新窗口 以及如何返回到 playwright java 中的父窗口 没有像 Selenium 这样的 Switch 操作 您可以使用waitForPage or waitForPopup功能 您只需要知道触发该
  • C 迭代结构体数组

    说我已经声明了一个结构 struct mystruct char a 10 double b struct mystruct array 20 test1 1 0 test2 2 0 lt I just want to declare 2
  • XML 标签、属性及其定义

    我正在寻找一个包含所有 XML 标签及其属性以及这些属性的定义 即它们影响 执行的操作 的列表的地方 我认为 MSDN W3C 甚至 Stack Overflow 上都会有这个 但我在这两个地方以及其他地方都找不到它 可能我在这些网站上查找
  • R 中的波形点 (~.)

    谁能解释一下 R 中的波形点 我已经看过一些关于它的帖子 我知道波形符用于公式 指定自变量和因变量 而且 我知道点用于指示所有其他变量 更具体地说 有人可以解释这个例子中的波形点吗 x lt sample 10 x gt detect gt
  • 链接 PHP 文本

    我正在使用 TinySong api 生成链接 它可以工作 现在我尝试使用 linkify 来生成链接 事实并非如此 我不确定为什么它没有链接 我相信我使用了正确的变量 这是代码
  • Java 中的 Perlin 噪声

    对于我正在从事的元胞自动机项目 我需要使用不同的算法和技术随机生成二维布尔数组 目前 我在应用程序中只有一种类型的随机化 循环遍历数组中的每个单元格并生成随机双变量 然后如果随机数高于 0 5 则将该单元格设置为 true 如果不是 则设置
  • 未定义的子例程 &main::首先在 hello.pl 第 6 行调用

    我的 Perl 代码面临一个问题 我创建了一个包 Welcome pm 并在脚本 hello pl 中使用它 但出现以下错误 未定义子例程 main First 在 hello pl 第 6 行调用 我也查看了其他答案 但仍然无法弄清楚代码
  • 无法在 Android 上显示实时流数据

    我正在尝试将原始 H264 数据从相机设备显示到我的 Android 应用程序 我能够在 Textview 上接收数据 但无法在 Textureview 上显示它 我是 android 的初学者 我不是解码原始数据的专家 如果有人能提出解决
  • Android Webview 加载对话框没有被关闭

    我正在使用以下代码 class CustomWebViewClient extends WebViewClient Context context ProgressDialog pd null public CustomWebViewCli
  • 如何写入或读取 XML 配置文件 (.config)

    我必须在安装的后期部分编写一个配置文件 如果存在旧版本的产品 则必须从配置文件中读取 配置文件是 XML 配置文件 config 配置文件将有很多条目 例如
  • .css .js 文件上的 php-fpm apache2 403 错误

    我正在尝试在 debian jessie 上设置一个具有多个虚拟主机的 apache2 服务器 我希望他们每个人都有一个不同的 FastCgiExternalServer 我在 jessie 上使用 php5 fpm 包中的 php 版本以
  • Pandas 将计算行添加到数据框的底部

    下面是我拥有的数据框的一个小样本 我想在其底部添加一个计算行 sch q1 q2 q3 acc Yes Yes No acc Yes No No acc Yes No No acc Yes Yes Yes 我想在底部添加一行 该行将给出每列
  • mysql查询生成序列号

    我有一张表 student marks marks 44 55 64 98 76 预期输出 serial number marks 1 44 2 55 3 64 4 98 5 76 使用 mysql 用户定义的变量 可以使用查询来完成 se
  • 单元测试 Swagger 输出

    我在 ASP NET MVC WebAPI 项目中使用 Swagger 该项目安装了 Swashbuckle nugget 包并生成 Swagger UI 和 Swagger docs v1 我一直遇到的一个问题是 开发人员会因为不仔细命名