Вы должны думать в абстракций.
Пример: Вы можете создать что-то вроде
interface BinaryRunner {
void runBinary(String command, String... args);
}
class BinaryRunnerImpl implements BinaryRunner { ...
(конечно, это всего лишь пример, как я полностью покинул наш ошибка обработки путь)
А ваш «производство» код использует этот чтобы, ну, запустить двоичные файлы. И теперь вы можете издеваться над экземпляром BinaryRunner и дать это вашему производственному коду. Ваш производственный код делает свои звонки; и вы можете использовать макет, чтобы проверить это.
Наконец: Конечно, тестирование реализации BinaryRunner может быть немного сложнее ;-)
мутноватый - Я не понимаю, что вы просите. –
Вывести вызов внутри 'class MyExternalBinary'; затем издеваются над этим классом. –