То, что вы описываете, является интеграционным тестом , а не модульным тестом. Модульные тесты (в идеале) не должны полагаться на файловую систему, объем доступной памяти и т. Д.
Вам следует настроить свои модульные тесты на управляемый объем данных в словаре (желательно инициализировать, например, из строки (потока) в коде тестового прибора, а не из внешнего файла). Таким образом, вы можете повторно инициализировать ваше тестовое устройство независимо для каждого модульного теста и протестировать все необходимые подробности о структуре словаря.
И, конечно, вы должны также создать отдельные высокоуровневые интеграционные тесты, чтобы убедиться, что ваша система в целом работает, как ожидается, в реальных условиях. Если они отделены от подлинных модульных тестов, вы можете позволить себе запускать (дешевые и быстрые) модульные тесты через JUnit после любого изменения кода, а более дешевые реже проводить интеграционные тесты другим способом, в зависимости от того, сколько времени они занимают например, один раз каждую ночь Вы также можете выбрать между настройкой среды интеграции один раз и выполнением ваших интеграционных тестов (с помощью других средств, отличных от JUnit, например сценария оболочки / пакетной обработки) в четко определенном порядке, или перезагрузкой файла словаря для каждого тестового примера, как расширенное время выполнения может не иметь значения во время ночной сборки.