gpt4 book ai didi

testing - 为什么使用 OWIN 测试服务器?

转载 作者:行者123 更新时间:2023-11-28 19:47:20 25 4
gpt4 key购买 nike

本文介绍了如何在内存中托管整个 Web API 堆栈以使用 OWIN 进行测试:

http://www.davidwhitney.co.uk/Blog/2015/01/07/testing-an-asp-net-webapi-app-in-memory/

鉴于本文展示了使用 OWIN TestServer 对 Controller 进行单元测试:

https://blog.jcorioland.io/archives/2014/04/01/using-owin-to-test-your-web-api-controllers.html

我看到的区别在于使用 TestServer.CreateWebApp.Start<Startup>

关键区别是什么?为什么您会选择一个而不是另一个?

这仅仅是作为 Web API 调用的单元测试 Controller 方法与内存中的端到端集成测试之间的区别吗?

最佳答案

当你这样做时 TestServer.Create<Startup>() - 您只使用启动文件启动内存中的实例。 TestServer 内部的 HttpClient 足以在内存中进行集成测试。我们在一个进程中启动所有测试服务器,因此这不是限制(目前有 4 个测试服务器一起运行)。

当你这样做时 WebApp.Start<Startup>(Settings.WebApiUrl) - 你在你提供的 url 上启动一个网络应用程序。还有另一个接受选项的重载:url 和设置。我们仅在特定情况下使用此选项。如:

  1. SignalR 客户端的托管 URL - 没有 URL 将无法工作,它可以在哪里运行
  2. 基于契约(Contract)的测试 - 验证供应商的契约(Contract)边。这也只能通过启动的 WebApp 来完成。 (是使用 Pact.Net)

关于testing - 为什么使用 OWIN 测试服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46088291/

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