我正在尝试在我的一个宝石测试中使用Model < ActiveRecord::Base
和shoulda,我收到以下错误
./ test / model.rb:1:在`require'中:没有要加载的文件 - active_record(LoadError)
没有这个电话,我收到了这个错误
./ test / model.rb:1:未初始化的常量ActiveRecord(NameError)
帮助!我的测试需要一个准系统AR模型:)
require 'active_record' # <= this fails
class Model < ActiveRecord::Base # <= I need a barebones AR model here
acts_as_flaggable
end
require 'helper'
require 'model'
class TestActsAsFlaggable < Test::Unit::TestCase
context "a model" do
setup do
@model = Model.new
end
should "be able to set flag" do
@model.flag[:foo] = "bar"
assert_equal "bar", @model.flag[:foo]
end
should "get default value for unset flags" do
@model = User.new
assert_equal false, @model.flag[:some_unset_flag]
end
end
end
免责声明:我对测试非常陌生。这是我的第一个宝石,我想确保我以“正确”的方式做事:)
答案 0 :(得分:2)
如果您想在Rails应用程序之外使用它,您还需要require 'rubygems'
我的宝石的目标是在Rails应用程序中使用,如果它是你的第一个宝石,我建议使用enginex来获得一些时间。当然,它本来应该有助于制造引擎,但包含的测试可以节省很多麻烦......