DBunit测试(实例)

来源:互联网 发布:微软远程桌面控制软件 编辑:程序博客网 时间:2024/06/05 09:02

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.logging.FileHandler;

import junit.framework.TestCase;

import org.dbunit.DatabaseTestCase;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;

import  .......dao.AddressDAO;
import .......entity.Address;

public class TestAddressDao extends DatabaseTestCase {
 
 private AddressDAO addDao=new AddressDAO();
 
 /**
  * 该方法用于获取连接
  */
 @Override
 protected IDatabaseConnection getConnection() throws Exception {
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DataBase=Test","sa","");
  return new DatabaseConnection(con);
 }

 /**
  * 该方法负责提取种子数据
  */
 @Override
 protected IDataSet getDataSet() throws Exception {
  System.out.println("URL:"+this.getClass().getResource("").getPath());
  return new FlatXmlDataSet(new FileInputStream(this.getClass().getResource("").getPath()+"testFileDB.xml"));
 }

 /**
  * 控制测试前的数据库状态
  */
 @Override
 protected DatabaseOperation getSetUpOperation() throws Exception {
  
  return DatabaseOperation.REFRESH;
 }

 /**
  * 控制测试后的数据库状态
  */
 @Override
 protected DatabaseOperation getTearDownOperation() throws Exception {
//  DatabaseOperation.DELETE;
//  DatabaseOperation.DELETE_ALL;
//  DatabaseOperation.INSERT;
//  DatabaseOperation.REFRESH;
//  DatabaseOperation.TRUNCATE_TABLE;
//  DatabaseOperation.UPDATE;
//  DatabaseOperation.NONE;
  return DatabaseOperation.DELETE;
 }
 
 public void testAddressDAO(){
  
  try {
   Address address=addDao.findById(3);
   TestCase.assertNotNull("河南",address.getAddName());
  } catch (Exception e) {
   System.out.println("测试出错!");
   e.printStackTrace();
  }
 }
 
 public void testDelectAllAddress(){
  try {
//   int delectAllAddress = addDao.DelectAllAddress();
//   TestCase.assertEquals(2,delectAllAddress);
  } catch (Exception e) {
   System.out.println("测试出错!");
   e.printStackTrace();
  }
 }
}