Rhino Mock验证Mehods是按特定顺序多次调用的

时间:2010-07-21 14:33:48

标签: c# rhino-mocks

我有一个

我有一个名为IFileDownloader的接口,它有一个名为DownlowadFile的签名(字符串url,字符串fileName)

我有一个名为StockManager的类,它实现了这个方法。该类有另一个名为DownloadFiles的方法(string url,String [] fileNames),它调用Interface方法。如何使用Rhino Mocks验证是否为String [] fileNames中的每个传递文件调用了签名?

我已经为单个文件实现了它,但不确定如何修改它以获取有序列表?这是我的示例代码:

var stubbedFileDownloader = MockRepository.GenerateMock<IFileDownloader>();
string url = "http://abc.def.klm/download/"
string EXPECTED_FILENAME = "AVC2.xml";
stubbedFileDownloader.Stub(x => x.DownloadFile(url, EXPECTED_FILENAME)
    .Return(true);

var stockManager = new StockManager();   
stockManager.DownloadFiles(url, new string[] { "AVC2.xml" } );
stubbedFileDownloader.VerifyAllExpectations();

1 个答案:

答案 0 :(得分:0)

首先,如果您使用.Stub,则不会指定行为。它没有记录期望。要记录VerifyAllExpectations检查的预期,请使用.Expect代替.Stub

当您使用.Expect进行多个具有不同参数的调用时,VerifyAllExpectations将检查是否按给定顺序调用它们。