0
我有一個測試,其中NSubstitute檢查錯誤的電話在假類。當我按照以下代碼進行測試時,Received(...)
方法會檢查值factory.featureClassName
是否返回一次。Nsubstitute:收到檢查錯誤的方法
[Test]
public void CreateDataController_WhenCalled_CreatesServiceSettings()
{
var factory = Substitute.ForPartsOf<AbstractDataServiceFactoryFake>("fileName");
factory.CreateDataController();
factory.Received(1).CreateServiceSettings("fileName", factory.FeatureClassName);
}
爲了測試(如預期的),該方法CreateServiceSettings(...)
被調用一次我必須使用以下代碼:
[Test]
public void CreateDataController_WhenCalled_CreatesServiceSettings()
{
var factory = Substitute.ForPartsOf<AbstractDataServiceFactoryFake>("fileName");
var featureClassName = factory.FeatureClassName;
factory.CreateDataController();
factory.Received(1).CreateServiceSettings("fileName", featureClassName);
}
看來,該Recieved()
方法不直接連接到給定的方法通話結束後。任何人都可以解釋我,爲什麼會發生這種情況?