ruby-on-rails - 在 'test' 模式下处理数据库数据的最佳实践是什么?

标签 ruby-on-rails ruby database ruby-on-rails-3 testing

我正在使用 Ruby on Rails 3.2.2、cucumber-rails-1.3.0、rspec-rails-2.8.1 和 capybara-1.1.2。我有 this problem但我开始想,也许我做错了什么……主要是为了测试目的在 test 数据库中播种数据。具体来说,我的问题与当我必须测试我的应用程序时如何正确管理 test 数据库中的数据有关。

我的疑问是:通过播种数据(供您引用:我使用ROOT_PATH/db/seed.rb 文件注入(inject)data) test 数据库中我正在做他们应该做的事情? 也就是说,我应该如何填充 test数据库,因为需要该数据库*中的数据才能使我的应用程序正常工作以进行测试?我是否应该填充 test 数据库?

换句话说,测试模式(在我的例子中)处理数据库数据的最佳实践是什么而且,一般来说,应该如何处理?

***** 例如,为了工作,我的应用程序至少需要与“匿名”用户、“基本”文章、“基本”文章类别等相关的数据。

最佳答案

您应该使用以下之一:

  1. 固定装置。参见相应的Rails documentation
  2. 工厂。最流行的创建/管理工厂的工具是 FactoryGirl .恕我直言,这是最好的解决方案。
  3. 确保将数据植入测试数据库。参见 this StackOverflow 问题。

关于ruby-on-rails - 在 'test' 模式下处理数据库数据的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769341/

相关文章:

ruby-on-rails - rails : How to conditionally apply ActiveRecord sorting by one attribute based on through association or other property

javascript - Trunk8 jquery 插件只 chop 到第一个空格。如何 chop 整个帖子?

ruby - 检查文件/文件夹是否在 Ruby 的子目录中

mysql - 如何从两个 mysqldump 文件创建更改脚本

ruby-on-rails - Rspec 条件断言 : have_content A OR have_content B

ruby-on-rails - 如何将 Rails 应用程序从 ruby​​ 1.9 升级到 2.0

ruby-on-rails - Mac OS X 山狮 "Rails is not currently installed on this system."

ruby-on-rails - 热门显示用户的youtube视频吗?

java - 转换为推荐的参数化查询方法

sql - 为非关键 webapp 数据选择 MySQL 表类型(MyISAM 与 InnoDB)