Взгляните на другие плагины (плагины и гемы, тоже самое), тестовые наборы.
Тестирование плагинов, улучшающих Active Record, довольно простое. Вы можете использовать Active Record в любом месте , поэтому все, что вам нужно сделать в этом случае, это подключить Active Record к базе данных (например, базе данных sqlite в памяти) и протестировать ваш код.
# test/test_helper.rb
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
require 'your_thing'
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
ActiveRecord::Schema.define(:version => 1) do
create_table :posts do |t|
t.string :title
t.text :excerpt, :body
end
end
class Post < ActiveRecord::Base
validates_presence_of :title
end
# test/my_test.rb
require 'test_helper'
class MyTest < Test::Unit::TestCase
def test_thing
# use Post here
end
end
Сложнее, когда вы хотите проверить действия контроллера и тому подобное. Мой плагин проверки в реальном времени имеет довольно обширный набор тестов, который макетирует множество вещей и позволяет мне передавать представления ERb в виде строки, вы можете на это взглянуть.
Адаптация этих примеров Test :: Unit к RSpec должна быть тривиальной, так как они ничего не связывают с Test :: Unit.