我正在尝试为一个查询做单元测试。在这个查询中,我调用了一个数据库函数。此函数为CTE (Common-Table-Expression)。出于测试目的,我想模拟这个CTE。
我的问题是,我如何在entity-framework-core中模拟这个数据库函数?
发布于 2021-02-19 16:31:07
长话短说-你不能。你只能模拟函数C#相关的数据。
Testing code that uses EF Core
理解EF核心并不是为了抽象底层数据库系统的每个方面而设计的,这一点非常重要。相反,EF Core是一组通用的模式和概念,可以与任何数据库系统一起使用。
但是--取决于你正在做的测试的类型:
对生产中使用的同一数据库系统运行查询和更新的
你可以设置数据(1或2-对于第三个是无关的),这样你的函数就会返回正确的数据。对于第一个选择,你总是可以这样做,但对于第二个选择,并不总是如此(因为更容易管理的数据库,并不总是支持相同的功能)。
也许通过一些代码和更多的上下文,我们可以提供更多帮助。
https://stackoverflow.com/questions/66273944
复制相似问题