首页 > 解决方案 > 如何使用 C# 中的扩展方法隐藏的 Moq 模拟 IMemoryCache 实例方法?

问题描述

我试图模拟出IMemoryCache.Get我理解的是一种扩展方法。Moq不能覆盖这些,因此让我模拟它调用的底层方法。这对我来说很好,尤其是因为这是关于堆栈溢出的共识。当我尝试模拟底层的IMemoryCache.TryGetValue. Microsoft.Extensions.Caching.AbstractionsC# 将此解析为( )中 this 的扩展方法版本,该版本TryGetValue<TItem>(this IMemoryCache cache, object key, out TItem value)在同一命名空间下定义,并且是我的测试项目试图测试的项目包含的一个包。扩展方法本质上是“隐藏”了底层的实例方法。TryGetValue给定这些约束,我如何模拟普通接口方法?

在此处输入图像描述

标签: c#unit-testingmoqmemorycache

解决方案


推荐阅读