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