Mar*_*ius 3 c# func nsubstitute
我想检查是否已使用NSubstitute调用匿名函数.类I中的方法有一个Func<>参数,我想确保调用(或不调用)此参数.我尝试了以下,但它似乎不起作用:
var spy = Substitute.For<Func<string, int>>();
MyClass.DoSomething(spy);
spy.Invoke(Arg.Any<string>()).Received();
Run Code Online (Sandbox Code Playgroud)
然而,这引发了一个例外:
NSubstitute.Exceptions.NullSubstituteReferenceException : NSubstitute extension methods like .Received can only be called on objects created using Substitute.For<T>() and related methods.
Run Code Online (Sandbox Code Playgroud)
尝试更换
spy.Invoke(Arg.Any<string>()).Received();
Run Code Online (Sandbox Code Playgroud)
同
spy.Received().Invoke(Arg.Any<string>());
Run Code Online (Sandbox Code Playgroud)
如果您的生产代码通过spy.Invoke()或通过调用func没有区别spy().但是如果您的代码调用,测试将不会成功BeginInvoke.但我认为,不应该是一个问题,因为你应该事先知道,如果一个测试Invoke或BeginInvoke需要.
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |