【发布时间】:2019-09-26 21:43:20
【问题描述】:
我有一个在 .net core 2.2 中构建的 Web API 应用程序,我必须使用 Xunit 为这个应用程序编写自动化测试。应用涉及到两层Wep API => Service layer => Repository layer的依赖注入。
您能否建议编写这些涉及模拟数据库上下文的测试的理想方法?
【问题讨论】:
标签: asp.net-core-webapi xunit.net
我有一个在 .net core 2.2 中构建的 Web API 应用程序,我必须使用 Xunit 为这个应用程序编写自动化测试。应用涉及到两层Wep API => Service layer => Repository layer的依赖注入。
您能否建议编写这些涉及模拟数据库上下文的测试的理想方法?
【问题讨论】:
标签: asp.net-core-webapi xunit.net
单元测试应该只模拟 立即 级别的依赖关系。例如,如果您正在测试一个控制器,您将模拟该服务。如果您正在测试服务,您将模拟存储库,如果您正在测试存储库,您将模拟上下文(或者如果使用 EF Core,则只使用内存数据库)。
换句话说,您不会建立模拟层。模拟应该完全抽象功能。对于控制器示例,您将模拟服务以仅返回一些固定值。服务模拟实际上不会使用任何存储库。
【讨论】: