Я пытаюсь проверить, что метод Caliburn.Micro, PublishOnUIThread()
называется:AssertWasCalled, когда есть «этот» параметр
public static class EventAggregatorExtensions
{
...
public static void PublishOnUIThread(this IEventAggregator eventAggregator, object message);
...
}
Я пытаюсь проверить, как это:
//assert
_eventAggregator.AssertWasCalled(x =>
x.PublishOnUIThread(Arg<object>
.Is.Anything));
но получите ошибку:
System.InvalidOperationException : When using
Arg<T>
, all arguments must be defined usingArg<T>.Is, Arg<T>.Text, Arg<T>.List, Arg<T>.Ref or Arg<T>.Out
. 2 arguments expected, 1 have been defined.
Однако я не могу заставить метод принимать 2 параметра. Я новичок в тестировании, поэтому не знаю, как обойти это.
Невозможно высмеять методы расширения в Rhino, http://stackoverflow.com/a/5488700/368552 Однако вы можете обернуть их интерфейсом и имитировать интерфейс –