繁体   English   中英

我可以在不重新创建模拟的情况下撤消NSubstitute的Return()替代吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM