У меня есть следующие проблемы:OutputStream и InputStream для между потоками связи
Я даюсь модулем со следующим API:
public void start(InputStream input, OutputStream output,
InputStream error, PipeListener<T> listener)
Целью данного модуля является для облегчения связи между основнымами системных и внешних процессов (в данном случае экземпляров Процесса).
То, что я пытаюсь сделать, это реализовать «mock process», который фактически является экземпляром Thread, но имеет свои собственные потоки ввода, вывода и ошибок. Ключевым моментом здесь является природа потоков сами, к примеру, я хочу реализацию потока, возвращенное
((MockProcess)mockProcess).getInputStream()
функционально идентичны
((Process)realProcess).getInputStream().
Для всех намерений и целей, они должны быть полностью взаимозаменяемы.
Какую реализацию InputStream и OutputStream (соответственно) следует использовать для достижения этой цели? Единственное предложение, которое я смог найти, это использовать потоки с каналами ... но действительно ли это лучший вариант?
Это общий вопрос для тестирования интеграции. Некоторые поиски по этой теме могут помочь. –