В последнее время я использую RhinoMocks, но постоянно сталкиваюсь с проблемой. Если я взломаю отладчик и перейду через код, пока макет находится в режиме записи, я получаю исключение в следующих строках:
System.InvalidOperationException: Previous method 'SuchAndSuch.ToString();'
requires a return value or an exception to throw.
Но если я выполню тот же код, не взламывая отладчик, он выполнится успешно и создаст макет.
Я почти уверен, что причина этого в том, что отладчик вызывает ToString () для объектов, чтобы отобразить их в окнах Locals и других окнах Watch. Но поскольку макет находится в режиме записи, RhinoMocks считает вызов ToString () установкой ожиданий, что в таком случае не совсем корректно. Очевидно, это происходит только с частичными имитами конкретных классов. Моки против интерфейсов не демонстрируют такого поведения.
Сталкивались ли другие люди с этой проблемой? Есть какое-нибудь простое средство? Есть ли эта проблема в других фреймворках, таких как moq или TypeMock?
Спасибо,
~ Джастин