我正在尝试使用MRUnit 1.1.0测试一些MapReduces,但是我收到了这个错误:
14/10/13 14:19:49 ERROR mrunit.TestDriver: Missing expected outputs for namedOutput 'a'
14/10/13 14:19:49 ERROR mrunit.TestDriver: Missing expected output (b, a) for namedOutput 'a' at position 0.
14/10/13 14:19:49 ERROR mrunit.TestDriver: Expected no pathOutputs; got 1 pathOutputs.
14/10/13 14:19:49 ERROR mrunit.TestDriver: Received unexpected output (b, a) for unexpected PathOutput 'a'
我执行的代码是:
mapTextDriver.withInput(new LongWritable(1), new Text(content));
mapTextDriver.withMultiOutput("a", "b", "a");
mapTextDriver.runTest();
我正在阅读JIRA https://issues.apache.org/jira/browse/MRUNIT-13,他们将新功能添加到MRUnit,但我不知道我错过了什么..
我还包括注释:
@RunWith(..)
@PrepareForTest(..)
我继续检查代码和调试,我修复了。问题是我在Mapper中写作的方式。我正在使用mop.write(K,V,baseOutput)实例mop.write(NameFile,K,V),现在,它正在使用
mapTextDriver.runTest();
但我真的觉得
更加舒适List<Pair<NullWritable, Text>> outputs = mapTextDriver.run();
我不知道为什么它不能以这种方式运行MRUnit,它什么都不返回。我进入了代码,我没有得到它。任何线索?