我有几个数据库表,其数据仅用于显示目的,它永远不会更改。加载所有种子数据需要很长时间。我正在使用黄瓜,它似乎在每个场景之前使用database_cleaner gem来截断测试数据库中的所有表。有没有办法告诉database_cleaner或黄瓜单独留下几张桌子还是我在每个场景之前加载我的种子数据? 我在跑步 rails 2.3.8 黄瓜0.10.0 黄瓜轨道0.3.2 database_cleaner 0.50.0 任何帮助深表感谢。 汤姆
答案 0 :(得分:20)
如果您使用的是ActiveRecord
或DataMapper
,则应该能够使用:transaction
策略而不是:truncation
。
DatabaseCleaner.strategy = :transaction
或者@traday指出,您可以使用带截断的排除列表。
DatabaseCleaner.strategy = :truncation, {:except => %w[widgets]}
DatabaseCleaner docs值得一读。在features/support/env.rb
中查看通常使用Cucumber设置的位置。