Вот что у меня есть:
public interface IDataCenterMsmqWriter
{
void UpdateData(Action<DataCenterWcfProxy> action);
}
Тестируемая система:
public class WcfService : IWcfService
{
private readonly IDataCenterMsmqWriter _writer;
public WcfService(IDataCenterMsmqWriter writer)
{
_writer = writer;
}
#region IWcfService members
public void SendData(SomeData data)
{
_writer.UpdateData(d => d.SendVarData(data));
}
// other members of IWcfService elided
#endregion
}
Как мне протестировать с помощью Rhino Mocks, установив _writer как Mock, и проверить, было ли вызвано правильное действие в методе UpdateData.
Я пробовал это:
// _writer is setup as a mock
var data = new SomeData();
_wcfServiceSUT.SendData(data);
_writer.AssertWasCalled(d => d.UpdateData(x => x.SendVarData(data));
не работает.
Я могу добавить:
, p => p.IgnoreArguments () после UpdateData внутри AssertWasCalled, но это не дает мне того, что я хочу, чтобы убедиться, что SendVarData вызывался с переменной data.
Я смотрел на это:
Как утверждать, что действие называлось
но мое Действие не дразнит, как mockDialogService в его примере.
Есть ли способ проверить правильность вызова Action или Func с правильными входными параметрами и т. Д.?