【问题标题】:How to run tests in clear database?如何在清晰的数据库中运行测试?
【发布时间】:2013-04-01 20:55:57
【问题描述】:

在 PlayFramework 中运行测试时,您希望在每次测试之前清除数据库(以实现真正的隔离)并进行演进,但不知何故,情况似乎并非如此。

如何在运行每个测试之前清除数据库,或者如果没有通用方法,在使用异常时?

编辑:我已经知道用于测试的 H2 - MODE,即使具有数据库细节,但正如下面评论中所说,我想要的是具有相同的测试和生产数据库设置。为了做到这一点,我需要能够在每次测试之前重新加载我的数据库。

【问题讨论】:

标签: scala playframework-2.0 anorm


【解决方案1】:

在内存数据库上运行测试。查看http://www.playframework.com/documentation/2.0/ScalaTest 以获取有关其完成方式的示例。 这样,数据库将在每次测试之前从演变中启动,并且只需要添加您想要特定于该测试的数据或诸如此类的东西。

【讨论】:

  • 事实上,您建议的是使用 inMemory 数据库的解决方法。目前我已经在使用该解决方案,但我真正想做的是使用与我的生产服务器相同的数据库设置进行测试。为此,我需要在每次测试后重新加载我的数据库。
  • 当你说你想要相同的设置时,你的意思是你在运行测试时想要数据库中的产品数据吗?基本上是您的产品数据库在某个时间点的精确副本,然后在每次测试之前重置到该点?
  • 不,不。一个简单的例子是服务器编码设置、连接触发器、连接池等。我说的是服务器配置。
猜你喜欢
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
  • 2017-04-09
  • 1970-01-01
  • 2021-09-09
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多