Я использую EasyMock для написания модульных тестов для ряда сотрудничающих классов. Один из этих классов (позволяет называть его Foo
) открывает сетевое подключение к удаленному серверу и анализирует XML-ответ сервера на то, что могут использовать остальные классы.
В настоящее время мои тесты охватывают только сценарии, в которых все работает, и удаленный сервер запущен и возвращает XML, как ожидалось. Тем не менее, я был бы счастливее, если бы мог издеваться над Foo
, чтобы я смоделировал, что произойдет, если удаленный сервер не работает, или есть какая-то другая проблема, вызывающая IOException
, которая будет выбрана Foo
.
Я просмотрел API EasyMock, и я не вижу ничего похожего на метод, предлагающий макету выбросить исключение.
Для меня не обязательно иметь тесты на основе Exception
, но мне любопытно, возможно ли это с помощью EasyMock, и я думаю, было бы полезно протестировать публичный контракт Foo
таким образом.
Кто-нибудь сделал что-нибудь подобное с EasyMock раньше?
Ссылки