MiniTest ruby​​类查询返回nil

时间:2012-10-22 20:06:20

标签: ruby ruby-on-rails-3 autotest minitest

我正在运行Rails 3.2.8并使用MinitTest规范进行测试。我有自动测试管理我的测试套件,一切都很好,除了一件事。我有一个由ActiveRecord与MySQL管理的Contacts表和一个没有数据库表的CsvImport自定义ruby类。当我在IRB中运行应用程序时,一切都按预期工作,但是当测试通过测试套件运行时,Ruby类中的所有Contact.find / Contact.where / Contact.map查询类型调用都返回nil。

以下是一个例子:

require 'test_helper'

class CsvRowManagerTest < MiniTest::Spec
  describe 'import tests' do
    let(:row) { Hash['name' => 'test'] }
    let(:rm) { CsvRowManager.new(row) }
    it "should return an array of stuff" do
      rm.contacts.wont_be_nil
    end
  end
end

class CsvRowManager
  attr_accessor :row, :contacts

  def initialize(row)
    @row = row
    @contacts = Contact.all.map(&:name) #<-- returns nil
  end

end

更多的演示而不是任何东西。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

原来测试数据库没有克隆开发中的数据!卫生署。感谢您的帮助;你把我推向了正确的方向。 @Blowmage甚至提供远程调试我的问题。真是个蠢蛋!