sar*_*ara 3 c# mocking nsubstitute
我们都知道为替代品指定返回值的标准方式:
mySubstitute.Method().Returns(myValue);
Run Code Online (Sandbox Code Playgroud)
我需要在每次调用时计算 myValue,而不仅仅是一次。这可能吗?
例子:
mySubstitute.Method().Returns(() => ComputeValueBasedOnSystemClockAndTheWeather());
Run Code Online (Sandbox Code Playgroud)
当然这不会编译,因为Method()它并没有真正返回一个 lambda。
小智 5
我跳到 NSubstitue 文档,看到他们有一个从函数返回的页面。
调用属性或方法的返回值可以设置为函数的结果。这允许将更复杂的逻辑放入替代品中。尽管这通常是一种不好的做法,但在某些情况下它很有用。
calculator
.Add(Arg.Any<int>(), Arg.Any<int>())
.Returns(x => (int)x[0] + (int)x[1]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
531 次 |
| 最近记录: |