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();
}
}
}