- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个奇怪的问题:当我使用 mu 存储库 stub 时,我得到了一个奇怪的异常:
System.Reflection.TargetParameterCountException
创建 stub (在测试方法中):
var repositoryStub = new Mock<IRepository<User>>();
repositoryStub.Setup(m => m.FindAll(It.IsAny<Expression<Func<User,bool>>>())).Returns(TestGlobals.TestUsers.AsQueryable<User>);
接口(interface):
IQueryable<T> FindAll(System.Linq.Expressions.Expression<Func<T, bool>> whereExpression);
每次调用 FindAll 都会抛出该错误 :( 我在许多其他地方都以这种方式进行 mock ,但现在我找不到那个奇怪问题的根源 :(
最佳答案
您在 AsQueryable
调用后遗漏了一对括号:
repositoryStub.Setup(m => m.FindAll(It.IsAny<Expression<Func<User,bool>>>())).Returns(TestGlobals.TestUsers.AsQueryable<User>());
Returns
方法有多个重载,其中大部分采用 Func 并且在没有括号的情况下它使用这些重载之一,因为您没有指定参数,这就是它抛出异常的原因。
关于c# - Moq TargetParameterCountException 与 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8000440/
我有一个 PolygonRenderer 类,其中包含一个 顶点 属性,它是一个列表,保存类渲染的多边形的点。 当我尝试通过反射更改此列表中的特定点时,我在函数的最后一行收到 System.Refle
我有一个函数需要模拟以返回其参数之一。 函数如下所示: IEnumerable WrapDocuments(MessageSettings messageSettings, IEnumerable d
我正在使用以下代码输出属性值: string output = String.Empty; string stringy = "stringy"; int inty = 4; Foo spong =
我们的存储库具有“保存”方法。每当保存实体时,它们还会引发“已创建”事件。 我们一直在尝试使用 Moq 来模拟存储库...... var IRepository = new Mock(); Reque
我有一个在另一个线程上工作的 DirectoryMonitor 类。它声明了以下事件: public class DirectoryMonitor { public event EventHa
我收到参数计数不匹配异常: Getting Unhandled Exception: System.Reflection.TargetParameterCountException: Paramete
我是 Moq 的新手,所以希望我只是遗漏了一些东西。出于某种原因,我得到了 TargetParameterCountException。 你能看出我做错了什么吗?任何问题?请问。 :) 这是我的代码:
我有一个 .NET (3.5 w/Dev Studio 2008) 应用程序,它承载一个可视化 Active X(用 C++ w/Dev Studio 2003 编写)。可以访问所有源,但不能轻松地将
我有一个奇怪的问题:当我使用 mu 存储库 stub 时,我得到了一个奇怪的异常: System.Reflection.TargetParameterCountException 创建 stub (在
我创建了一个 BeginInvoke,这样我就可以从非 UI 线程写入文本框。线程 A 调用一个在线程 A 的上下文中运行 testFunc 的委托(delegate)。 testFunc 然后执行一
以下是我的通用基础存储库界面 public interface IRepository { IQueryable AllIncluding(params Expression>[] inclu
我在nUnit测试用例中使用Moq。 这是我的测试用例: IList coaDepartments = new List() { new ChartFi
我正在使用 C# SDK发布事件。我已经填写了基本事件参数,并使用 Graph API 资源管理器测试了这些参数。但是,当我调用 PostTaskAsync 时: var parameters = n
我错误地在 SharePoint 上发布了这个问题部分。 我需要将一个模型映射到另一个模型。一切正常,但最后一个属性抛出 TargetParameterCountException。抛出异常的属性称为
在我的单元测试项目中,我安装了 AutoFixture (v3.40.0)、NUnit (v2.6.4.) 和 AutoFixtrue.NUnit2(v3.39.0)。 我在其中一个虚拟测试用例上使用
我尝试使用带有多参数函数的 lambda,但是当我尝试调用 mock.Object.Convert(value, null, null, null);行。 System.Reflection.Targ
我是一名优秀的程序员,十分优秀!