ruby-on-rails - 在 Rails 中 rake cucumber 而不删除数据库

标签 ruby-on-rails cucumber rake

在 Rails 中运行 Cucumber Test 似乎默认会删除并重新创建测试数据库。

想知道是否有地方可以在每次测试期间不删除并重新创建测试数据库?

使用: rails 3.1 cucumber 1.1.o cucumber rails 1.1.1

使用的命令: rake cucumber

最佳答案

Cucumber 会在每个场景之后重置测试数据库。这通常是您想要的,但有时您可能需要一些永远不会重置的持久数据。如果这是您的情况,您可以在 features/support/env.rb 中修改database_cleaner的工作方式

寻找

DatabaseCleaner.strategy = :transaction

并将其替换为您的版本

DatabaseCleaner.strategy = :truncation, {:except => %w[directions locations]}

其中“方向位置”是您不希望清除的表格的名称。

关于ruby-on-rails - 在 Rails 中 rake cucumber 而不删除数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638558/

相关文章:

ruby-on-rails - Controller#action 中的 NoMethodError - #<User :0x007fba0e32f760> 的未定义方法 `keynote'

javascript - 将银行帐户数据添加到 strip 而​​不保存到 API 或数据库表

java - Cucumber:无法将 DataTable 转换为 List<java.lang.String>。有一个表格单元格转换器,但表格太宽而无法使用

unit-testing - cucumber /Rspec : Is there a way to extract tests from existing code?

ruby - 如何使用参数和依赖项定义 Rake 任务

ruby-on-rails - 摆脱不会死亡的 ruby

ruby-on-rails - 根据枚举更改类颜色

ruby-on-rails - 60秒内无法获得稳定的firefox连接(127.0.0.1 :7055)

ruby-on-rails - 在 Unix 上,查找执行该程序的用户是否为 root?

ruby-on-rails - Rails 生产 : Bundle is locked to rake