我正在使用 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
仍然得到相同的错误。
任何人都可以帮我吗?
由于
答案 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