网站制作

本类阅读TOP10

·IIS 安装配置全攻略
·用VS.NET打开网上下载的.NET web项目出错的解决办法
·HTML 4.0 语言快速参考
·限制TextArea区的文字输入数量
·如何在网页上实现进度条
·Apache的配置步骤及测试
·谈谈Jesse James Garrett提到的Ajax
·html基础学习笔记(2)
·页面垂直居中的两种方法
·用asp遍历目录下文件的例子

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
DBUnit与Ant使用

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

初次使用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...");
    }
}



相关文章

相关软件