你使用 MySQL。你有几种可能性。
我使用的几个:
1.使用凹槽(插件)在gradle中创建您为mysql测试创建新数据库,并以相同的方式创建模式。
gradle 中的一些配置可以帮助您。
def dbUser = 'root'
def dbPasswd = 'root'
def dbHost = 'localhost'
def dbName = 'testDB'
def dbPort = '3306'
def dbUrl = 'jdbc:mysql:////localhost:3306/testDB?
useUnicode=yes&characterEncoding=UTF-8'
dependencies {
testCompile files('libs/junit-4.12.jar')
testCompile files('libs/hamcrest-core-1.3.jar')
testCompile files('libs/mysql-connector-java-5.1.29.jar')
}
//create DB for test
task loadDriver {
URLClassLoader loader = GroovyObject.class.classLoader
loader.addURL(file('libs/mysql-connector-java-5.1.29.jar').toURL())
java.sql.DriverManager.registerDriver(loader.loadClass('com.mysql.jdbc.Driver').newInstance())
}
task createTestData(dependsOn: loadDriver) {
// println 'Connecting to database ...'
// def sql = groovy.sql.Sql.newInstance('jdbc:mysql://localhost:3306/?useUnicode=yes&characterEncoding=UTF-8', dbUser, dbPasswd, 'com.mysql.jdbc.Driver')
// println '... connected'
// println 'Drop test database testDB...'
// sql.execute 'drop database IF exists testDB;'
// println 'database testDB is droped'
// println 'Create test database testDB...'
// sql.execute 'create database if not exists testDB'
// println 'Database testDB is created'
}
2.您可以在 java 中以类似的方式创建您在测试中使用的基类来创建 testDB mysql 例如:
public class TestDAO {
@Before
public void setUp() throws ClassNotFoundException, SQLException {
java.util.Date date = new java.util.Date();
LOG.info("Set up database for test "+date.getTime());
database = database + date.getTime();
LOG.info("DATABASE NAME:"+database);
LOG.info("Create database:"+database);
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(URL+":"+PORT, USER, PASS);
stmt = conn.createStatement();
String sql = "CREATE DATABASE " + database;
stmt.executeUpdate(sql);
} finally {
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
}
人们还可以发明其他一些方法。