首页 > 解决方案 > 针对 ASP.NET REST Web API 服务器运行单元测试的最佳方法是什么

问题描述

我们有一个提供 REST API 的 ASP.NET Web API 服务器应用程序。

我想要的很简单。当我们的单元测试运行时,我更喜欢 NUnit 但可以执行 Microsoft 测试框架,它会启动服务器应用程序。然后我编写了进行 REST 调用并断言返回的响应的单元测试。

这留下了问题:

  1. 有没有办法在测试开始时,首先让我们的服务器 Web 应用程序在 IIS Express 上启动并运行。并且在它运行并可用之前不要开始测试。
  2. 有没有办法在 IIS Express 上硬编码 Web 应用程序的端口或获取单元测试的端口?
  3. 如何让 IIS Express 结束我的 Web 应用程序然后退出?
  4. 为此,我是否需要在一个套件中进行所有测试,这样我就不会启动和停止我们的 Web 应用程序的多个实例?

标签: c#asp.net-web-api2nunitiis-expressweb-api-testing

解决方案


您在 asp.net core 中描述了一个集成测试,并且从这个开始有很好的文档

您基本上需要使用通用主机在您的 IntegrationTests 解决方案中设置一个主机,然后涵盖所有点 1-4


推荐阅读