2012-01-05 4 views
2

Я пытаюсь выполнить тестирование Java-программы, использующей программный интерфейс HFS для HDFS. Мне нужно создать каталоги и установить время, чтобы убедиться, что моя программа «очистит» каталоги в нужное время. Однако FileSystem.setTimes не работает для каталогов, только для файлов. Есть ли способ, который я могу настроить для доступа к файлам HDFS или изменениям программным способом? Я использую Hadoop 0.20.204.0.Как установить время каталога HDFS для модульного тестирования

Спасибо!

Frank

ответ

0

Вы пытаетесь выполнить единичный тест Hadoop или вашу программу? Если последний, то правильный способ сделать это - абстрагировать любые зависимости инфраструктуры, такие как HDFS, и использовать stub/mock в ваших тестах.

+0

Я на самом деле пытаюсь выполнить тестирование моей программы. – Frank

+0

Максим - если у меня есть доступ к реальному HDFS, то зачем его заглушка/макет? – Frank

+1

@Frank Stub/mocking позволит вам протестировать ваш код без необходимости манипулировать HDFS. При проведении модульного тестирования вам необходимо удалить любую зависимость, которую имеет ваш код, путем заглушки/издевки. Если вам требуется HDFS, технически это интеграционное тестирование. Зачем пытаться изменить HDFS, когда вы можете подделывать время? Что, если время в будущем? hehe – Nija

2

Похоже, что это действительно ошибка HDFS, отмеченная как разрешенная недавно. Возможно, вам нужно попробовать никогда не использовать версию или моментальный снимок, если это важно для вас.

HDFS-2436

Смежные вопросы