[英]Can I undo NSubstitute's Returns() substitution without recreating the mock?
使用NSubstitute,我可以这样做:
mock.doStuff().Returns(foo);
但是对于大型测试夹具,这并不适合每个测试。
那么我可以“撤消” Returns()
替代吗,还是必须在每次测试之前重新创建模拟? (这是slooooow ...)
最简单的方法是覆盖存根值-将使用最后一组。
mock.doStuff().Returns(foo);
...
mock.doStuff().Returns(anotherFoo);
您还可以使用ClearExtensions
对重置替代品的部分进行精细控制:
using NSubstitute.ClearExtensions;
...
mock.ClearSubstitute(ClearOptions.ReturnValues);
ClearExtensions
在2.0.0版本候选版本(及更高版本)中可用,因此您可能需要在NuGet中启用预发行版软件包才能获得该功能 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.