需要在Ruby / Rails中

时间:2013-02-11 03:42:14

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

我正在尝试对名为UserModel的模型进行单元测试。我的RSpec代码是:

# user_model.rb
require 'user_model'

describe UserModel do
   result = UserModel.add("test","test")
   result.should eq(1)
end

require 'user_model'行引发错误:

ERROR : `./user_model.rb:1: uninitialized constant ActiveRecord (NameError)`

是导入课程UserModel的那一行吗?

2 个答案:

答案 0 :(得分:2)

如果您未在测试系统中包含Rails环境,则结果将无法预测。典型的测试至少包括test_helper,默认情况下会在Rails中加载并设置正确的数据库连接。

使用rails generate model创建的每个模型都会附带一个您可以自定义的样本测试。

答案 1 :(得分:1)

该消息表明您正在使用常量ActiveRecord,但未提供提供它的库activerecord

如果您使用的是最新版本的RSpec,请确保运行rspec生成器rails g rspec:install以创建标准spec_helper,它将加载Rails环境(包括activerecord)。在你的user_model_spec的顶部,你只需要require 'spec_helper'