Я разработал класс Java, который реализует некоторый серверный протокол. Например, у него есть метод getProtocolVersion()
, который возвращает последнюю версию протокола. Объект этого класса подключается к серверу через реализации InputStream
и OutputStream
.
У меня есть тест с заглушками для каждой команды сервера. Каждый тест создает ByteArrayInputStream
и ByteArrayOutputStream
с ожидаемыми клиентскими запросами и ответами сервера, поэтому я могу выполнять логическое модульное тестирование реализации моего протокола с помощью JUnit. Это работает, но создавать фикстуру (подготавливать данные) для каждого теста команды слишком скучно.
Действительно ли использовать насмешки в моем случае? Является ли это решение менее сложным? Как имитировать последовательности данных через потоки ввода и вывода?
new ByteArrayInputStream(text.getBytes());
- person Peter Lawrey   schedule 17.10.2011