我正在尝试在内存模式下使用hsqldb创建集成测试.目前,我必须在运行单元测试之前从命令行启动hsqldb服务器.我希望能够从我的集成测试中控制hsqldb服务器.我似乎无法从代码中得到这一切.
更新:
这似乎与在类路径中有一个hibernate.cfg.xml文件一起工作:
org.hsqldb.Server.main(new String[]{});
Run Code Online (Sandbox Code Playgroud)
在我的hibernate.cfg.xml文件中:
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:mem:ww</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="hbm2ddl.auto">update</property>
Run Code Online (Sandbox Code Playgroud)
更新 在使用jUnit和内置测试运行器从Eclipse中运行单元测试时,这似乎只是一个问题.如果我跑
mvn test
Run Code Online (Sandbox Code Playgroud)
它们被正确执行,没有例外.就依赖性而言,我是否遗漏了一些东西?我使用了生成eclipse项目
mvn eclipse:eclipse
Run Code Online (Sandbox Code Playgroud)
而我的pom是:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myproject</groupId>
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>myproject</name>
<dependencies>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.3.2.GA</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.1.0.4.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId> …Run Code Online (Sandbox Code Playgroud)