hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Rabe (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-11849) There should be a JUnit test runner which automatically initializes the mini cluster
Date Mon, 20 Apr 2015 19:05:00 GMT
Jens Rabe created HADOOP-11849:
----------------------------------

             Summary: There should be a JUnit test runner which automatically initializes
the mini cluster
                 Key: HADOOP-11849
                 URL: https://issues.apache.org/jira/browse/HADOOP-11849
             Project: Hadoop Common
          Issue Type: Improvement
          Components: test
            Reporter: Jens Rabe
            Priority: Minor


Setting up the mini cluster is not a big deal, but when writing a larger amount of integration
tests, one quickly has a lot of code duplication. Creating abstract test classes which set
up the cluster is a feasible solution, but then there is the problem with the order of *BeforeClass*,
especially when a lengthy MR job is to be run exactly once and several tests then check the
output data.

It would be nice if the following were possible:
{code:java}
@RunWith(MiniCluster.class)
public class SomeLengthyIntegrationTest {

  @Conf
  private static Configuration _conf;
  @FS
  private static FileSystem _fs;

  @BeforeClass
  public static void runMRJob() throws Exception {
    final Job job = Job.getInstance(_conf);
    // ... set up the job
    assertTrue("Job was successful", job.waitForCompletion(true));
  }

  @Test
  public void testSomething() {
    // a test
  }

  // more tests
}

Maybe there could be more annotation-driven configuration options. A nice example for such
an approach is the *SpringJUnit4ClassRunner* from the Spring framework.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message