Как включить ActiveRecord в гем тестах? - PullRequest
1 голос
/ 19 мая 2011

Я пытаюсь использовать Model < ActiveRecord::Base в одном из моих испытаний драгоценных камней с musta и получаю следующую ошибку

. / Test / model.rb: 1: в `require ': такой файл не загружается - active_record (LoadError)

Без этого звонка я получаю эту ошибку

. / Test / model.rb: 1: неинициализированная константа ActiveRecord (NameError)

Помогите! Мне нужна модель Barebones AR для моих тестов :)


my_gem / тест / model.rb

require 'active_record' # <= this fails

class Model < ActiveRecord::Base # <= I need a barebones AR model here
  acts_as_flaggable
end

my_gem / тест / test_acts_as_flaggable.rb

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

Отказ от ответственности: Я очень плохо знаком с тестированием. Это моя первая жемчужина, и я хотел убедиться, что я делаю все правильно:)

1 Ответ

2 голосов
/ 01 июня 2011

Если вы хотите использовать его вне приложения Rails, вам также необходимо require 'rubygems'

I, цель вашего драгоценного камня - использовать его внутри приложения Rails, и если это ваш первый драгоценный каменьЯ бы порекомендовал использовать enginex , чтобы выиграть время.Конечно, первоначально предполагалось, что он поможет создавать двигатели, но включенное тестирование экономит массу хлопот ...

...