Насколько я знаю, у Rhino нет способа указать свои собственные сообщения.
Вы можете написать свой собственный метод, который перехватывает исключение Rhino ExpectationViolationException, а затем распечатывает нужное сообщение.
Грубый пример этого будет:
public static class RhinoExtensions
{
public static void AssertWasCalledWithMessage<T>(this T mock, Expression<Func<T, object>> action)
{
try
{
mock.AssertWasCalled(action.Compile());
}
catch (ExpectationViolationException)
{
Console.WriteLine(string.Format("{0} was not called with proper parameters or was not called.", (action.Body as MethodCallExpression).Method.Name));
throw;
}
}
}
Тогда использование будет:
mockBookingService.AssertWasCalledWithMessage(ms=>ms.UnBookFlight(Arg<DateTime>.Is.Equal(dummyDate)));