本文需要您了解ASP.NET Core Web API 和 xUnit的相关知识....ASP.NET Core应用里, 我们在Program.cs里创建WebHostBuilder, 并配置Kestrel Web服务器, 使用Startup类进行应用配置, 注册服务和中间件等....下图是被测试系统在生产环境和集成测试使用TestServer情形下的对比图:
?...图中:
当应用/被测试系统在生产环境运行的时候, 它使用Kestrel服务器, 监听HTTP请求, 并把它转化为HttpContext, 然后再传进ASP.NET Core的管道里....该Controller需要很多依赖项, 其中两个还需要使用数据库.
通常情况下集成测试里使用的数据库和生产环境中使用的数据库不同, 在测试环境我更倾向于使用内存类数据库.