3

我们正在使用 play 1.2.x DB 进化功能。我想让脚本创建和开发在游戏自动测试中测试的模式

所以我在测试套件之前需要一个空数据库。

我想过:

  • 注册@OnApplicationStartup 监听器,它可以删除数据库中的所有结构(这可能需要一些脏代码),然后让数据库进化来完成剩下的工作。但是游戏演变也是@OnApplicationStartup,我不知道如何确保我的听众是第一个。这可以通过另一个 hack 来克服——从代码中调用 DB 进化。
  • 使用一些脚本删除和重新创建数据库 - 在运行自动测试之前,但这并不能使我的测试始终是我想要的测试。例如,我需要始终记住使用我的脚本,而不仅仅是自动测试。从 Eclipse 执行测试时,不会执行此脚本。

还有其他选择吗?

或者也许有人可以建议任何其他解决方案来测试这些东西?

谢谢

4

1 回答 1

3

更简单:使用内存数据库(在语法上与您的 prod 数据库兼容,以便 SQL 工作正常)。

每次运行都会有一个新的数据库,并且进化将始终执行。

于 2012-06-13T14:48:35.417 回答