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

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

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

 DatabaseCleaner.strategy = :transaction 

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

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

DatabaseCleaner文档值得一读。 查看features/support/env.rb了解通常使用Cucumber设置的位置。