如何自动测试 playframework 演变
Posted
技术标签:
【中文标题】如何自动测试 playframework 演变【英文标题】:How to automatically test playframework evolutions 【发布时间】:2012-06-12 13:52:52 【问题描述】:我们正在使用 play 1.2.x DB 进化功能。我想让脚本创建和开发在游戏自动测试中测试的模式
所以在测试套件之前我需要一个空数据库。
我想过:
注册@OnApplicationStartup 监听器可以删除所有 DB 中的结构(可能需要一些脏代码),以及 让 db evolutions 完成其余的工作。但是游戏的演变也是一个 @OnApplicationStartup,我不知道如何确保我的听众 将是第一个。这可以通过另一种黑客攻击来克服 - 调用 数据库从代码演变而来。 使用一些脚本删除和重新创建数据库 - 在运行之前 自动测试,但这并不能使我的测试始终是我想要的测试。例如我需要永远记住使用我的脚本,而不仅仅是自动测试。从 eclipse 执行测试时,不会执行此脚本。还有其他选择吗?
或者也许有人可以建议任何其他解决方案来测试这些东西?
谢谢
【问题讨论】:
【参考方案1】:更简单:使用内存数据库(在语法上与您的 prod 数据库兼容,以便 SQL 正常工作)。
每次运行都会有一个新的数据库,并且进化将始终执行。
【讨论】:
问题是 h2 中的 mysql 模式与真正的 mysql 语法不是 100% 兼容 - 例如在 alter table 命令方面。但我可能会以某种方式克服它。这可能是目前最好的选择。以上是关于如何自动测试 playframework 演变的主要内容,如果未能解决你的问题,请参考以下文章