DBUnit与Ant使用

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 kaukiyou 的 blog

初次使用ant+dbunit,用ant可以实现,也可以直接写dbunit的测试代码可现。
dataset.xml

代码:

<?xml version='1.0' encoding='utf-8'?>
<dataset>
  <employee id='1'
    firstname='sager'
    lastname='xiao' />

  <employee id='2'
    firstname='cheung'
    lastname='zhang' />

  <employee id='3'
    firstname='sword'
    lastname='lu' />
</dataset>


build.xml
代码:

<project name="mydbunit" basedir="." default="db-load">
   <property name="lib.dir" value="d:\java\lib"/>
   <property name="dbunit.jar" value="${lib.dir}\dbunit-2.1\dbunit-2.1.jar"/>
   <property name="junit.jar" value="${lib.dir}\junit3.8.1\junit.jar"/>
   <property name="junitdoclet.jar" value="${lib.dir}\junitdoclet.1.0.2\junitdoclet.jar"/>
   <property name="jdbc.jar" value="${lib.dir}\mysql-connector-java-3.0.11-stable-bin.jar"/>
   <property name="classes.dir" value="./bin"/>
   
   <path id="test.classpath">
       <pathelement location="${dbunit.jar}"/>
       <pathelement location="${junit.jar}"/>
       <pathelement location="${junitdoclet.jar}"/> 
      <pathelement location="${jdbc.jar}"/>
   </path>
   <target name="prepare">
      <taskdef name="dbunit" classname="org.dbunit.ant.dbunittask"
                        classpathref="test.classpath"/>
   </target>
    <target name="db-load" depends="prepare">
       <dbunit driver="com.mysql.jdbc.driver"
            supportbatchstatement="false"
            url="jdbc:mysql://localhost/test"
            userid="root"
            password="sql">
            <operation type="clean_insert" src="dataset.xml" />
        </dbunit>
    </target>
</project>


直接的测试代码,运行junit测试就可以将数据导入数据库:
代码:

/*
 * created on 2004-10-12
 */
package com.sager.dbunit;

import java.io.fileinputstream;
import java.sql.connection;
import java.sql.drivermanager;

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;

/**
 * @author sager
 * 
 */
public class sampletest extends databasetestcase {

    public sampletest(string name) {
        super(name);
    }

    /**
     * @see org.dbunit.databasetestcase#getconnection()
     */
    protected idatabaseconnection getconnection() throws exception {
        class driverclass = class.forname("com.mysql.jdbc.driver");
        connection jdbcconnection = drivermanager.getconnection(
                "jdbc:mysql://localhost/test", "root", "sql");
        return new databaseconnection(jdbcconnection);
    }

    /**
     * @see org.dbunit.databasetestcase#getdataset()
     */
    protected idataset getdataset() throws exception {
        return new flatxmldataset(new fileinputstream("dataset.xml"));
    }

    protected databaseoperation getsetupoperation() throws exception {
        return databaseoperation.refresh;
    }

    protected databaseoperation getteardownoperation() throws exception {
        return databaseoperation.none;
    }
    public void testme() {
        system.out.println("testing...");
    }
}

本文关键:DBUnit与Ant使用
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top