Hi, If your goal is to use the new API, I am able to get it to work with the following maven configuration:
<dependency> <groupId>org.apache.mrunit</groupId> <artifactId>mrunit</artifactId> <version>0.9.0-incubating</version> <classifier>hadoop1</classifier> </dependency> If I switch with classifier hadoop2, I get the same errors as what you facing. Thanks Hemanth On Sat, Apr 20, 2013 at 3:42 PM, 姚吉龙 <geelong...@gmail.com> wrote: > Hi Everyone > > I am testing my MR programe with MRunit, it's version > is mrunit-0.9.0-incubating-hadoop2. My hadoop version is 1.0.4 > The error trace is below: > > java.lang.IncompatibleClassChangeError: Found class > org.apache.hadoop.mapreduce.TaskInputOutputContext, but interface was > expected > at > org.apache.hadoop.mrunit.mapreduce.mock.MockContextWrapper.createCommon(MockContextWrapper.java:53) > at > org.apache.hadoop.mrunit.mapreduce.mock.MockMapContextWrapper.create(MockMapContextWrapper.java:70) > at > org.apache.hadoop.mrunit.mapreduce.mock.MockMapContextWrapper.<init>(MockMapContextWrapper.java:62) > at org.apache.hadoop.mrunit.mapreduce.MapDriver.run(MapDriver.java:217) > at org.apache.hadoop.mrunit.MapDriverBase.runTest(MapDriverBase.java:150) > at org.apache.hadoop.mrunit.TestDriver.runTest(TestDriver.java:137) > at UnitTest.testMapper(UnitTest.java:41) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at junit.framework.TestCase.runTest(TestCase.java:168) > at junit.framework.TestCase.runBare(TestCase.java:134) > at junit.framework.TestResult$1.protect(TestResult.java:110) > at junit.framework.TestResult.runProtected(TestResult.java:128) > at junit.framework.TestResult.run(TestResult.java:113) > at junit.framework.TestCase.run(TestCase.java:124) > at junit.framework.TestSuite.runTest(TestSuite.java:232) > at junit.framework.TestSuite.run(TestSuite.java:227) > at > org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > > > Anyone has idea? > > BRs > Geelong > > -- > From Good To Great >