使用 Xunit 对 .net core 2.2 web 进行自动化单元测试 API

Automated Unit test using Xunit for .net core 2.2 web API

我在 .net core 2.2 中构建了一个 Web API 应用程序,我必须使用 Xunit 为该应用程序编写自动化测试。应用程序涉及两个级别的依赖注入 Wep API => 服务层 => 存储库层。

您能否建议编写这些涉及模拟数据库上下文的测试的理想方法?

单元测试应该只模拟立即级别的依赖。例如,如果您正在测试控制器,您将模拟该服务。如果你正在测试服务,你会模拟存储库,如果你正在测试存储库,你会模拟上下文(或者更确切地说,如果使用 EF Core,则只使用内存数据库)。

换句话说,您不会构建模拟层。模拟应该完全抽象功能。对于控制器示例,您会将服务模拟为 return 一些固定值。服务模拟实际上不会使用任何存储库。