最近在學習Hadoop,在虛擬機上面的Centos系統下搭建了一個單機的Hadoop系統,對照《Hadoop權威指南》一邊看一邊運行裏面的例子。因爲大部分程序員都是用Eclipse來開發Hadoop程序,但我習慣於用命令行形式來寫代碼和運行程序。在Hadoop裏面作單元測試時,用Eclipse網上卻是有不少的實例,當如何在命令行下運行單元測試確實讓我犯難了,難爲了我好幾天。晚上在Junit官網上看了相關資料,在Java環境下運行單元測試爲: java
java -cp .:/usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name] 程序員
將上面的命令行進行改造,移植到hadoop後爲: apache
hadoop jar /usr/share/java/junit.jar org.junit.runner.JUnitCore [test class name] ide
######################################################## oop
在本機測試記錄以下: 單元測試
// SingleResourceConfigurationTest.java // == SingleResourceConfigurationTest import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.junit.Test; public class SingleResourceConfigurationTest { @Test public void get() throws IOException { // vv SingleResourceConfigurationTest Configuration conf = new Configuration(); conf.addResource("configuration-1.xml"); assertThat(conf.get("color"), is("yellow")); assertThat(conf.getInt("size", 0), is(10)); assertThat(conf.get("breadth", "wide"), is("wide")); // ^^ SingleResourceConfigurationTest } }
javac SingleResourceConfigurationTest.java 學習