【问题标题】:How do I get cucumber and databasecleaner to leave my seed data in my rails test db?如何让 cucumber 和 databasecleaner 将我的种子数据留在我的 Rails 测试数据库中?
【发布时间】:2011-05-29 05:08:11
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails cucumber


    【解决方案1】:

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

    DatabaseCleaner.strategy = :transaction
    

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

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

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

    【讨论】:

    • jdl - 再次感谢。我又看了一遍,现在也理解了 :transaction 策略。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多