如何使用Minitest&amp ;;测试模型没有数据库?

时间:2015-09-04 14:43:53

标签: ruby-on-rails-4 minitest

我正在使用 rails 4.2.1& ruby 2.2.1 在我的appliation中。因此,minitest会自动添加,版本 5.1 。我的应用程序中没有数据库。 使用数据库,我可以测试模型。如何在没有数据库的情况下测试模型?

我创建了一个用户模型:

class User
  include ActiveModel::Model
end

users.yml里:

one:
  firstName: Avi
  email: a@a.a

user_test.rb:

require 'test_helper'

class UserTest < ActiveSupport::TestCase      
  test "the truth" do 
    user = users(:one)
    assert true
  end
end

我收到错误:Undefined methods users。如果存在daabase,我将获得正确的数据。 我甚至尝试添加include ActiveModel::Lint::Tests仍然得到相同的错误。 任何人都可以帮我吗?

由于

1 个答案:

答案 0 :(得分:0)

ActiveSupport::TestCase期望数据库连接处于活动状态。您可能希望将其切换为Minitest::Test,但这意味着您无法使用users fixture方法从数据库中检索记录。

require 'test_helper'

class UserTest < Minitest::Test
  def test_sanity
    user = User.new
    user.first_name = "Avi"
    user.email = "a@a.a"
    assert user
  end
end