1

我想针对不同的 PostgreSQL 数据库运行我的测试,而不是内存数据库选项或为本地应用程序设置配置的默认数据库(通过db.default.url配置变量)。我尝试使用%test.db和相关的配置变量(如此处所示),但这似乎不起作用;我认为这些说明适用于 Play Framework v1。

仅供参考,测试数据库将预先定义其架构,并且不需要在每次测试运行时创建和销毁。(虽然,我不介意它是否在每次测试运行时重新创建和销毁,但我不想使用“进化”来这样做;我现在正在使用一个 SQL 模式文件.)

4

2 回答 2

1

在本地开发时使用替代配置文件来覆盖数据库凭据(和其他设置),即。就像另一个答案(更新1)中描述的那样。

提示:在开发和生产中使用不同类型的数据库会很快导致错误和错误,因此最好在本地安装相同的数据库进行开发和测试。

于 2012-09-06T06:12:38.793 回答
0

我们能够在 Play 2.x 之上实现 Play 1.x 风格的配置——尽管我敢打赌 Play 的创建者听到这个消息会感到畏缩。

该代码不是完全可共享的,但基本上,您只需覆盖 GlobalSettings 中的“配置”方法:http://www.playframework.org/documentation/api/2.0.3/scala/index.html#play。 api.GlobalSettings

您可以检查某些系统的 conf 设置,例如“environment.tag=%test”,然后将“%test.foo=bar”的所有配置覆盖为“foo=bar”。

于 2012-09-06T04:51:22.903 回答