我正在尝试对名为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
的那一行吗?
答案 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'
。