application-test.properties
通常情况下,需要针对内存数据库中的 H2
运行所有测试。执行此操作的一种简单方法是向项目添加 src/test/resources/application-test.properties
。在 application-test.properties
中,可以有效地覆盖数据源的属性并指定使用 H2
。
针对内存数据库中的 H2 运行所有测试。
当通过 DB.getDefault()
自动创建数据库实例时,Ebean 会在类路径中查找 application-test.properties 的存在。如果找到,则通常指定使用内存 H2 数据源。
application-test.properties 示例
## Create DB from scratch prior to running tests
ebean.db.ddl.generate=true
ebean.db.ddl.run=true
## Use H2 when running tests
datasource.db.username=sa
datasource.db.password=
datasource.db.databaseUrl=jdbc:h2:mem:tests
datasource.db.databaseDriver=org.h2.Driver
以编程方式 - loadTestProperties()
使用 DatabaseConfig
和 DatabaseFactory
以编程方式创建数据库实例时,有一个方法 databaseConfig.loadTestProperties()
,如果存在,它会以类似的方式查找 application-test.properties 文件。
@Override
public Database getObject() throws Exception {
DatabaseConfig config = new DatabaseConfig();
config.setName("db");
config.loadFromProperties(properties);
...
// load application-test.properties if present for running tests
// typically using H2 in memory database
config.loadTestProperties();
// set as default and register so that Model can be
// used if desired for save() and update() etc
config.setDefaultServer(true);
config.setRegister(true);
return DatabaseFactory.create(config);
}