Почему вы хотите загрузить свойства log4j в модульных тестах в первую очередь? При нормальном ходе событий модульные тесты не должны выдавать сообщения журнала. IMO, вы должны просто отключить регистрацию (также для кода, тестируемого модулем). Единственный требуемый результат модульных тестов - это сводка, которую JUnit (или ваша любимая инфраструктура модульных тестов) генерирует для вас автоматически, все остальное просто беспорядок. Я добавляю это к методу настройки класса в моих классах модульного теста:
Logger.getRootLogger().setLevel(Level.OFF);
Единственное исключение - когда я собираю новый модульный тест для еще не проверенного класса / модуля (я работаю с унаследованным кодом, стараюсь постепенно покрывать его модульными тестами) или когда анализирую неудачный тест. Затем я отправляю сообщения журнала в стандартный вывод, чтобы получить подсказки о том, что пошло не так внутри кода, который я вызвал. Но после исправления модульного теста (или кода приложения) я снова отключаюсь.