对于我的griffon桌面客户端应用程序,我正在尝试编写一些涉及OrmLite的测试。我使用configuration section of the griffon-ormlite plugin guide为OrmLite配置了java配置文件。我要做的是配置OrmLite在测试期间使用不同的(空白)数据库。但是,应用程序没有获取测试配置,而是加载默认设置。
注意事项:
这是配置文件:
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")
)
)
);
}
}
非常感谢任何帮助。
答案 0 :(得分:2)
我担心问题在于基于类的ResourceBundles不像Groovy脚本那样提供对environments
块(或任何其他条件块)的支持。我们最近为Properties文件添加了这种支持(参见https://github.com/griffon/griffon/issues/196);让我们需要为基于类的包添加相同的内容。
如果可以,请切换到Groovy脚本配置作为解决方法,确保将griffon-groovy
添加为项目依赖项。这将增加至少约7M的依赖性。