【发布时间】:2017-02-18 13:11:17
【问题描述】:
对于我的 griffon 桌面客户端应用程序,我正在尝试编写一些涉及 OrmLite 的测试。我已经使用configuration section of the griffon-ormlite plugin guide 为 OrmLite 配置了一个 java 配置文件。我想要做的是配置 OrmLite 在测试期间使用不同的(空白)数据库。然而,应用程序并没有选择测试配置,而是加载默认设置。
注意事项:
- 以与配置指南(上面的链接)中的 src/main/resources/Ormlite.groovy 完全相同的方式指定配置将导致插件抱怨缺少“default.url” “ 环境。所以要么这个例子是错误的(它可能已经过时了,但这不太可能),要么我遗漏了一些关于环境的东西(配置在被读取之前被转换了吗?我没有找到任何关于这方面的文档)。
- application environment 枚举在测试期间正确生成 Environment.TEST,在运行期间正确生成 Environment.DEVELOPMENT。
- 版本:griffon 2.9.1、griffon-ormlite 1.1.0
这是配置文件:
import java.util.Map;
import griffon.util.AbstractMapResourceBundle;
import static griffon.util.CollectionUtils.map;
public class Ormlite extends AbstractMapResourceBundle {
@Override
protected void initialize(Map<String, Object> entries) {
map(entries)
// the default database setting
.e("database", map()
.e("url", "jdbc:h2:internal")
)
.e("environments", map()
.e("test", map()
// the database that should be used during testing, but is not being picked up
.e("database", map()
.e("url", "jdbc:h2:mem:internal-test")
)
)
);
}
}
非常感谢任何帮助。
【问题讨论】: