支持可选参数和.Net 4.0的C#模拟框架

8

是否存在一个支持完全的 .Net 4.0 和 C# 的 C# 模拟框架。具体来说,我希望它支持可选参数。


我实际上找到了NSubstitute,它满足了我的需求。 - Mark S.
你应该将其作为答案发布并接受它。 :) - Brian Dishaw
3个回答

3

2

2
我尝试过这个方法,但是在没有指定具体参数的情况下调用该方法时,会出现“System.Reflection.TargetParameterCountException: Parameter count mismatch.”异常。 - Mark S.
嗯...那我就不确定了。我从来没有做过这个,只是以为它被支持了。 - slandau
8
对我而言,它有效,我只需要确保我的.Returns行也有正确的定义(包括可选参数或没有参数)。因此,.Returns(() => someReturnValue); 或者 .Returns((int requiredVar, bool optionalVar) => someReturnValue);。而且.Setup显然也需要它们两个。 - CaffGeek
如果你遇到了TargetParameterCountException异常,请检查你的返回值是否有正确数量的参数。 - Chris Haines
@MarkS.,看一下这个答案:https://dev59.com/m2s05IYBdhLWcg3wJunp#9704789 正如CaffGeek和Hainesy所说,它与.Returns参数有关。 - Marcel

1

我实际上找到了NSubstitute,它做到了我需要的。


NSubstitute很好用,但目前还不支持Silverlight(截至2012年3月)。 - Alex Burtsev
无法模拟需要多维数组的方法 https://dev59.com/42LVa4cB1Zd3GeqPsxBS - Myles McDonnell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接