NSubstitute CouldNotSetReturnDueToNoLastCallException
NSubstitute CouldNotSetReturnDueToNoLastCallException
我正在使用 NSubstitute 通过 PartsOf()
方法模拟 class(我需要一些方法才能工作)。它看起来像这样:
var mock = Substitute.ForPartsOf<MyWorker>();
mock.Start().Returns(void);
一个简单的代码,几乎与 NSubstitute 的文档中的代码相似,但我得到的却是这个异常:"An exception of type 'NSubstitute.Exceptions.CouldNotSetReturnDueToNoLastCallException'
occurred in NSubstitute.dll but was not handled in user code
Additional information: Could not find a call to return from."
有什么问题?
我花了一些时间才弄明白。使用 ForPartsOf()
时,模拟方法必须是 virtual
!这解决了 CouldNotSetReturnDueToNoLastCallException
异常的问题。
我正在使用 NSubstitute 通过 PartsOf()
方法模拟 class(我需要一些方法才能工作)。它看起来像这样:
var mock = Substitute.ForPartsOf<MyWorker>();
mock.Start().Returns(void);
一个简单的代码,几乎与 NSubstitute 的文档中的代码相似,但我得到的却是这个异常:"An exception of type 'NSubstitute.Exceptions.CouldNotSetReturnDueToNoLastCallException'
occurred in NSubstitute.dll but was not handled in user code
Additional information: Could not find a call to return from."
有什么问题?
我花了一些时间才弄明白。使用 ForPartsOf()
时,模拟方法必须是 virtual
!这解决了 CouldNotSetReturnDueToNoLastCallException
异常的问题。