【问题标题】:How to seed the test database before to run Cucumber features?如何在运行 Cucumber 功能之前播种测试数据库?
【发布时间】:2012-04-03 05:18:15
【问题描述】:

我正在使用 Ruby on Rails 3.2.2、cucumber-rails-1.3.0 和 rspec-rails-2.8.1。由于我在数据库中存储了一些“系统”数据,并且我想测试需要这些数据才能正常工作的应用程序,我想种子 >在运行 Cucumber 功能之前测试数据库

我怎样才能做到这一点?你有什么建议?

【问题讨论】:

  • 这很大程度上取决于您的部署和测试过程和工具。例如,我使用简单的 groovy 脚本在数据库启动时将一些 SQL 转储到我的数据库中。
  • @Eddie - 那些“groovy 脚本”是什么?我应该把它们放在哪里?

标签: ruby-on-rails ruby ruby-on-rails-3 cucumber rspec-rails


【解决方案1】:

Rails 有一个名为Fixtures 的功能,它会在测试之前预先填充测试数据库。 Fixtures 使用 YAML 为同名的表添加数据。

Ruby on Rails 指南有一个low down on fixtures,可能会有所帮助。

【讨论】:

  • 我使用的不是Test::Unit,而是RSpec和Cucumber。它适用于那些宝石?
  • 对不起,我误会了你,我应该学习阅读。有人似乎在修复和 rspec here 方面取得了成功。但this thread 中的第 7 篇文章可能正是您要找的。​​span>
【解决方案2】:

Thare 也是 FactoryGirl。 它可以从任何地方读取,但通常使用 features/factories.rb 或 features/factories/*.rb

See RailsCast 275。 Ryan 将它与 RSpec 一起使用,但原理是相同的。请注意,FactoryGirl 从那时起进行了重大修订,因此所有 API 都在发展。

【讨论】:

    猜你喜欢
    • 2023-02-18
    • 1970-01-01
    • 2013-04-25
    • 2015-09-26
    • 2017-06-07
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    相关资源
    最近更新 更多