如何防止数据库清理黄瓜

时间:2015-08-10 10:56:37

标签: ruby-on-rails cucumber erase database-cleaner

这是我的env.rb 需要'cucumber / rails' ActionController :: Base.allow_rescue = false Cucumber :: Rails :: World.use_transactional_fixtures = false

运行黄瓜后从数据库中清除数据。如何防止数据擦除

1 个答案:

答案 0 :(得分:0)

您希望黄瓜场景能够通过某种数据库清理运行,否则每个场景都会依赖于以前运行的场景,并且您将以各种奇怪的方式开始失败,这些场景非常难以调试。

如果您正在编写依赖于以前方案的方案,则应立即停止。如果您尝试为测试预先填充数据,请尝试在Given中执行此操作,例如

Given the database is pre-populated

如果这太慢,你有几个选择

  1. 改善您预先准备数据的方式,例如加载已保存数据库的SQL转储

  2. 编写较少依赖预先填充数据的方案

  3. 编写较少依赖于预先填充数据的方案(也许您可以对较低级别的组件进行单元测试)。

  4. 它是所有自动化测试的基础部分,您可以从稳定,一致,可重复的起点开始每个测试/场景。