c# - 如何使用 C# 中的扩展方法隐藏的 Moq 模拟 IMemoryCache 实例方法?
问题描述
我试图模拟出IMemoryCache.Get
我理解的是一种扩展方法。Moq
不能覆盖这些,因此让我模拟它调用的底层方法。这对我来说很好,尤其是因为这是关于堆栈溢出的共识。当我尝试模拟底层的IMemoryCache.TryGetValue
. Microsoft.Extensions.Caching.Abstractions
C# 将此解析为( )中 this 的扩展方法版本,该版本TryGetValue<TItem>(this IMemoryCache cache, object key, out TItem value)
在同一命名空间下定义,并且是我的测试项目试图测试的项目包含的一个包。扩展方法本质上是“隐藏”了底层的实例方法。TryGetValue
给定这些约束,我如何模拟普通接口方法?
解决方案
推荐阅读
- flutter - 打开键盘会导致有状态小部件重新初始化
- c# - 如何使用 WCF 服务的代理实现读取类库中的 System.serviceModel
- angular - 在使用 Bootstrap 的模板中,如何将数组拆分为两列?
- python-3.x - 为什么我在使用 aiohttp 模块时必须使用 async with?
- api - 如何追加或组合 2 []array golang beego
- android - 如何在 Firebase 项目中授予应用级访问权限
- c# - 使用公式进行计算的用户友好方式
- javascript - 窗口'o'条件,这是什么意思
- c# - 借助 EF 而不是应用程序 DB 使用不同的数据库进行身份验证
- laravel - Laravel:在 phpunit 中使用 $response->assertViewHas(...) 查看::share(...)