如何让黄瓜和数据库清理器将我的种子数据留在我的rails测试数据库中?

时间:2010-12-22 04:22:30

标签: ruby-on-rails cucumber

我有几个数据库表,其数据仅用于显示目的,它永远不会更改。加载所有种子数据需要很长时间。我正在使用黄瓜,它似乎在每个场景之前使用database_cleaner gem来截断测试数据库中的所有表。有没有办法告诉database_cleaner或黄瓜单独留下几张桌子还是我在每个场景之前加载我的种子数据? 我在跑步 rails 2.3.8 黄瓜0.10.0 黄瓜轨道0.3.2 database_cleaner 0.50.0 任何帮助深表感谢。 汤姆

1 个答案:

答案 0 :(得分:20)

如果您使用的是ActiveRecordDataMapper,则应该能够使用:transaction策略而不是:truncation

DatabaseCleaner.strategy = :transaction

或者@traday指出,您可以使用带截断的排除列表。

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

DatabaseCleaner docs值得一读。在features/support/env.rb中查看通常使用Cucumber设置的位置。