如何在Rails测试中使用现有数据库?

时间:2014-05-04 03:47:26

标签: ruby-on-rails postgresql testing ruby-on-rails-4

我有一个包含示例用户,内容和其他数据的postgreSQL数据库。如何将其用作我的测试数据库?

测试将在其中创建新数据,因此我希望能够在每次测试运行之前轻松重置它。有没有一种简单的方法可以将数据库转换为可以轻松重新创建的格式?

2 个答案:

答案 0 :(得分:0)

这是一个糟糕的想法,但你可以通过更改config / database.yml来做到这一点 如

development:
  adapter: postgresql
  encoding: unicode
  database: development_db 
  pool: 10
  username: username
  password: password
  host: localhost

test 
  adapter: postgresql
  encoding: unicode
  database: test_db #change this db name to your development_db or whatever you want to use is test environment 
  pool: 10
  username: username
  password: password
  host: localhost

更改要使用的测试环境数据库(包含样本用户的数据库)

注意:如果您想再次使用原始数据库,那么我建议您与样本用户一起备份数据库,然后在测试环境中使用

答案 1 :(得分:0)

如果您的数据不是太复杂,我会使用灯具来完成工作。测试数据库在每次测试后回滚,当测试套件增长并且每次测试之前必须预先填充数据库时,这会大大减慢测试速度。