как смоделировать отсутствие сетевого подключения в модульном тестировании

Общий вопрос заключается в том, как имитировать (как частьJUnit набор тестовых случаев) отсутствие подключения к сети, поскольку это является важным фактором в некоторых тестовых случаях. Есть ли способ сделать это через Java API (или через опцию JVM), чтобы некоторые тестовые случаи могли выполняться при отключении от сети? (смоделированный или настоящий?).

Более конкретный случай (если нет общеприменимого решения) заключается в том, что я делаю кучу обработки XML-файлов (включая проверку XSD), и мне нужно убедиться, что по сети ничего не выбирается, в частности, чтобыxsi:schemaLocation значения атрибутов (подсказки) не используются и что все XSD фактически получены из пути к классам. Я используюValidator с обычаемLSResourceResolver загружает любые XSD, которые могут понадобиться из пути к классам.

Я думаю, я мог бы реализоватьresolveResource методLSResourceResolver чтобы никогда не вернутьсяnull (и, следовательно, чтобы никогда не возвращаться к поведению по умолчанию при открытии обычного URI-соединения с ресурсом), но я не уверен, будет ли этого достаточно, и в любом случае я бы чувствовал себя более уверенно, если бы мог запустить свойJUnit тесты в режиме имитации острова (без ручного выключения интерфейсов на моей машине).

ОБНОВИТЬ

Принятый ответ, а именно-DsocksProxyHost подход предоставил именно то решение, которое мне было необходимоJUnit задача может принимать параметры виртуальной машины (еслиfork установлен вtrue) и поэтому я могу иметь следующее в моем файле Ant:

<junit printsummary="true" showoutput="true" fork="true" maxmemory="256m">
    <jvmarg value="-DsocksProxyHost=127.0.0.1"/>
    ...

... завернутый внутрьcontrib:if поэтому я могу контролировать из командной строки, запускать ли тесты JUnit в условиях сетевого подключения или нет.

Ответы на вопрос(2)

Ваш ответ на вопрос