使用NSubstitute,我可以这样做:
new
但是对于大型测试夹具,这在每次测试中都是不合适的。
我也可以撤消" mock.doStuff().Returns(foo);
替换,还是我必须在每次测试前重新创建模拟? (这是懒散的...)
答案 0 :(得分:2)
最简单的方法是覆盖存根值 - 将使用最后一组。
mock.doStuff().Returns(foo);
...
mock.doStuff().Returns(anotherFoo);
您还可以使用ClearExtensions
对替代品的部分内容进行细粒度控制:
using NSubstitute.ClearExtensions;
...
mock.ClearSubstitute(ClearOptions.ReturnValues);
ClearExtensions
可在2.0.0候选版本(及更高版本)中使用,因此您可能需要启用prerelease packages in NuGet to get that feature。