Home Testingtools DbUnit DbUnit test Life Cycle



DbUnit test Life Cycle
Posted on: April 30, 2011 at 12:00 AM
Understanding DbUnit test Life Cycle

DbUnit test Life Cycle

     

DbUnit framework follows some steps in its life cycle :

  1.  Removing the old data left in the database from previous tests.
  2.  Loading some data from XML file into the database.
  3.  Running the test.

DatabaseTestCase class provides two methods setUp() and TearDown() which internally call getSetUpOperation() and getTearDownOperation() methods respectively. setUp() method provides the setup operation DatabaseOperation.CLEAN_INSERT or DatabaseOperation.REFRESH. DatabaseOperation.CLEAN_INSERT operation is the combination of two operations DELETE_ALL and INSERT. So data defined in the XML file is loaded in the database by this operation. First two steps of the life cycle are executed when executing the setUp() method before running the test. These steps allow you not to waste time in writing code to restore state in the database. DatabaseOperation.REFRESH updates the desired database with the data found in the XML file. The getTearDownOperation() performs a NONE operation which does nothing.

protected void setUp() throws Exception{
  super.setUp();
  executeOperation(getSetUpOperation());
  }
protected void tearDown() throws Exception{
   super.tearDown();
   executeOperation(getTearDownOperation());
  }
protected DatabaseOperation getSetUpOperation() throws Exception{
  return DatabaseOperation.CLEAN_INSERT;
  }
protected DatabaseOperation getTearDownOperation() throws Exception{
  return DatabaseOperation.NONE;
}

DbUnit can work with default behavior, however, you can override the methods according to the s requirement. 

     

Related Tags for DbUnit test Life Cycle:


More Tutorials from this section

Ask Questions?    Discuss: DbUnit test Life Cycle  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.