NSubstitute說,這在其docs:有沒有辦法讓一個類返回值遞歸嘲笑與NSubstitute
方法,返回的接口[...]會自動返回替代自己。
通常這就夠了。然而,當我這樣做:
TestMethod的:
IUnityContainer unity = Substitute.For<IUnityContainer>();
MyMethod(unity);
實際方法:
public void MyMethod(IUnityContainer container)
{
this.container = container;
myObject = container.Resolve<ISomeObject>();
myObject.CallSomeMethod();
}
Resolve方法返回一個類。所以它沒有被嘲笑。這意味着當我調用CallSomeMethod
時,我在myObject中獲得null值,並且返回空引用異常;
這將是很好,如果我可以得到一個類返回是一個模擬(這是除非我已經重寫了該接口具體)。
有什麼辦法可以得到這個使用NSubstitute?
不會'IUnityContainer.Resolve'返回'T'?所以如果'T'是一個接口'ISomeObject',NSubstitute應該返回一個模擬的'ISomeObject',如果你調用'container.Resolve ()'。它沒有這樣做? –