1
Учитывая интерфейс следующим образом:Есть ли более простой способ предусмотреть метод, который нельзя назвать в RhinoMocks?
interface ISomething
{
void Method(int arg1, string arg2, double arg3, OtherType arg4);
}
Используется в насмешливый с RhinoMocks
ISomething something = MockRepository.GenerateMock<ISomething>();
Единственный способ я знаю, чтобы проверить это никогда не вызывается в моем тесте выглядит следующим образом:
something.Expect(_ => _.Method(
Arg<int>.Is.Anything,
Arg<string>.Is.Anything,
Arg<double>.Is.Anything,
Arg<OtherType>.Is.Anything)
).Repeat.Never();
Это довольно уродливо. Есть ли более короткий способ сделать это для специального случая, когда метод не вызван вообще?
Вы можете окурок его бросить исключение. –
'someting.AssertWasNotCalled (s => s.Method (...))'? – Lee
Нельзя уклоняться от использования 'Arg'. Если слишком много аргументов является проблемой, тогда это означает, что проблема связана с дизайном метода (запах кода). Проблемы с тестированием, как правило, выявляют проблемы с дизайном кода. Чистый код приводит к чистым модульным испытаниям – Nkosi