【问题标题】:Rails 2.3.2 - How to seed my test tables with data?Rails 2.3.2 - 如何用数据播种我的测试表?
【发布时间】:2011-12-16 00:10:05
【问题描述】:

我刚刚学习 Cucumber / RSpec,我的应用程序需要完全填充某些表(例如类别、国家、价格列表等...)才能真正正常工作。其中一些表有超过 500 行(这些都是必需的)。

我正在考虑在运行每个场景之前制作所需表的 MySQL 转储并让脚本将它们导入测试数据库,但这感觉效率不高(而且不知道如何开始导入)。

是否有关于如何实现此目的的最佳实践方法?

非常感谢任何建议!

【问题讨论】:

    标签: ruby-on-rails testing rspec cucumber


    【解决方案1】:

    您正在寻找的是测试夹具。我推荐 gem fixture_builder,用于在代码中描述您的fixture,然后将其转储到 yaml 中,然后在您的测试运行开始时进入数据库。

    我还建议寻找简化测试数据的方法。虽然您可能有 500 个产品代码在生产中,但您应该能够使用包含 15 个左右产品的列表来测试大多数特殊情况。测试运送到 2 个国家/地区的效果与测试运送到 100 个国家等的效果差不多。它也更容易跟踪。

    从一小部分测试夹具数据开始,并根据需要添加数据以设置特殊情况,而不是将生产数据库放入测试中。

    【讨论】:

    • 只是为了让这个答案完整,有 的夹具构建宝石,包括内置于 Rails 中的宝石。流行的一个是FactoryGirl,另一个是Machinist
    猜你喜欢
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    相关资源
    最近更新 更多