c# - 针对 ASP.NET REST Web API 服务器运行单元测试的最佳方法是什么
问题描述
我们有一个提供 REST API 的 ASP.NET Web API 服务器应用程序。
我想要的很简单。当我们的单元测试运行时,我更喜欢 NUnit 但可以执行 Microsoft 测试框架,它会启动服务器应用程序。然后我编写了进行 REST 调用并断言返回的响应的单元测试。
这留下了问题:
- 有没有办法在测试开始时,首先让我们的服务器 Web 应用程序在 IIS Express 上启动并运行。并且在它运行并可用之前不要开始测试。
- 有没有办法在 IIS Express 上硬编码 Web 应用程序的端口或获取单元测试的端口?
- 如何让 IIS Express 结束我的 Web 应用程序然后退出?
- 为此,我是否需要在一个套件中进行所有测试,这样我就不会启动和停止我们的 Web 应用程序的多个实例?
解决方案
您在 asp.net core 中描述了一个集成测试,并且从这个开始有很好的文档
您基本上需要使用通用主机在您的 IntegrationTests 解决方案中设置一个主机,然后涵盖所有点 1-4
推荐阅读
- excel - 每分钟将彩色单元格复制到另一张纸上
- maven - Tomcat 保持文件锁定 - 导致重新部署失败
- swift - 创建最有效的自定义过滤器功能(对于我的用例)
- python - 为什么 QtSerialPort 在运行超过一次或两次后不会读取?
- python - 在设定的时间打开多个窗口
- javascript - 使用 jquery 将图像传递给模态 django
- api - 如何使用 API 将几张图片合并为一张?
- kotlin - Ktor / Kodein - 如何编写集成测试
- jupyter-lab - 来自 dataproc 集群的 jupyterlab 500 错误
- vimeo - Vimeo API 说未找到视频,但播放器 url 仍然有效。帮我理解