【发布时间】:2016-07-22 07:01:19
【问题描述】:
我有一个测试,其中 NSubstitute 在假课程中检查错误的调用。当我像下面的代码一样进行测试时,Received(...) 方法会检查 factory.featureClassName 的值是否返回一次。
[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() 方法并没有直接连接到调用后给出的方法。谁能解释一下,为什么会这样?
【问题讨论】:
标签: c# testing nunit nsubstitute