【问题标题】:Rspec: how to access other database in a testRspec:如何在测试中访问其他数据库
【发布时间】:2011-11-01 13:03:26
【问题描述】:

在我的Rspec测试中,我需要创建一些表到另一个数据库而不是应用程序的测试数据库,该怎么做?

基本上,在我的 Rspec 测试中,在before(:all) 内,我想从转储文件执行 SQL,该转储文件创建表到 另一个数据库

但是当我运行我的 Rspec 测试时,它会在测试数据库中创建所有表(这是可以理解的,因为它在应用程序的 Rspec 测试中。)

那么,如何在我的 Rspec 测试代码中运行 sql 来为另一个数据库创建表?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 rspec ruby-on-rails-3.1 rspec2


    【解决方案1】:

    所有测试都在 Rails 测试环境中运行。此处执行的任何 SQL 都受限于测试环境。

    【讨论】:

      【解决方案2】:

      你可以访问任何你想要的数据库:

      ActiveRecord::Base.establish_connection(
        :adapter  => 'mysql2',
        :database => 'db_name',
        :username => 'root',
        :password => '',
        :host     => 'localhost')
      

      当然可以更改哈希值。我从来没有尝试过你所期望的。我认为您应该在完成其他呼叫后重新连接到您的测试数据库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-28
        相关资源
        最近更新 更多