购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.7 使用MRUnit测试MapReduce程序

MRUnit(http://incubator.apache.org/mrunit/)是Apache提供的对MapReduce程序进行测试的工具类,使用它可以对Mapper和Reducer程序分别进行测试,并且可以将已知的输入传递给Mapper或者检查Reducer的输出是否符合预期。MRUnit可以与标准的测试框架(如JUnit)一起使用。

下面讲解如何在Eclipse中使用MRUnit结合JUnit对本章“单词计数”案例中的WordCount程序进行单元测试,具体操作步骤如下:

01 添加Maven依赖。MRUnit测试库需要添加以下Maven依赖:

     <dependency>
        <groupId>org.apache.mrunit</groupId>
        <artifactId>mrunit</artifactId>
        <version>1.0.0</version>
        <!--需要指定对应的Hadoop版本-->
        <classifier>hadoop2</classifier>
        <scope>test</scope>
     </dependency>
     <!--如果结合JUnit需要添加以下依赖-->
     <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
     </dependency>

02 新建测试类MRTest.java。测试类MRTest.java的完整代码如下:

03 分别运行JUnit测试,测试方法testMapper()、testReducer()和testMapReduce()。若测试结果与期望结果一致,则测试成功。 zhWa3WFE1i6pSREgRl4wl2E+u1dLHREtH2ZWM6dIPYNKa9fobSebCGUk5O5UnEL3

点击中间区域
呼出菜单
上一章
目录
下一章
×