Модульное тестирование пользовательского формата ввода и вывода

Я пытался выяснить, можно ли разработать модульные тесты для пользовательских реализаций формата ввода и вывода. Я нашел этот пример с MRunit: https://cwiki.apache.org/confluence/display/MRUNIT/MRUnit+Tutorial. Похоже, MRUnit годится только для тестирования маппера и редуктора. Я также видел этот пост: Как сделать модуль тестирование пользовательских классов RecordReader и InputFormat?. Но похоже, что этот конкретный пример зависит от путей HDFS?

В идеале мне нужно иметь возможность протестировать реализацию пользовательского формата ввода и вывода в виде тестового примера junit из среды IDE (Eclipse). Настройка кластера с одним или несколькими узлами недоступна. Как мы можем провести модульное тестирование в данных обстоятельствах?


person Santanu C    schedule 01.05.2015    source источник


Ответы (1)


Вы можете сделать то же самое, что было указано в потоке: Как выполнить модульное тестирование пользовательских классов RecordReader и InputFormat?

Следующий параметр фактически заставляет код HDFS работать в локальном псевдорежиме:

conf.set("fs.default.name", "file:///");
person Venkat    schedule 01.05.2015
comment
Кто запускает/обеспечивает локальный псевдорежим? Можете ли вы запустить его из eclipse в качестве теста junit? - person Santanu C; 01.05.2015
comment
Да, код, указанный в ссылке, будет работать в локальном режиме без изменений (в Windows вам понадобится Cygwin). Если вы хотите работать в кластере, вам нужно будет установить fs.default.name для вашего Namenode или вы можете удалить это установка в целом, и код будет работать в локальном режиме, а в кластере вам нужно будет добавить core-site.xml в свой путь к классам. - person Venkat; 01.05.2015