2010-05-14 6 views

Respuesta

4

utilizo Machinist para esto (y Rails, también. El odio accesorios YAML.)

1

ActiveRecord incluye soporte para accesorios, sólo hay que conectarlos en test_helper.rb.

# test/test_helper.rb 
require_relative '../app' 
require 'minitest/autorun' 
require 'active_record' 

ActiveRecord::Base.establish_connection(:test) 

class ActiveSupport::TestCase 
    include ActiveRecord::TestFixtures 
    include ActiveRecord::TestFixtures::ClassMethods 

    class << self 
    def fixtures(*fixture_set_names) 
     self.fixture_path = 'test/fixtures' 
     super *fixture_set_names 
    end 
    end 

    self.use_transactional_fixtures = true 
    self.use_instantiated_fixtures = false 
end 

continuación, puede utilizar los accesorios en sus clases de prueba.

# test/unit/blog_test.rb 
require_relative '../test_helper' 

class BlogTest < ActiveSupport::TestCase 
    fixtures :blogs 

    def test_create 
    blog = Blog.create(:name => "Rob's Writing") 
    assert_equal "Rob's Writing", blog.name 
    end 

    def test_find 
    blog = Blog.find_by_name("Jimmy's Jottings") 
    assert_equal "Stuff Jimmy says", blog.tagline 
    end 
end 

Configure Rake para buscar sus pruebas en los lugares correctos.

# Rakefile 
require_relative './app' 
require 'rake' 
require 'rake/testtask' 
require 'sinatra/activerecord/rake' 

Rake::TestTask.new do |t| 
    t.pattern = "test/**/*_test.rb" 
end 

task default: :test 

He publicado un small example application para demostrar el uso de Sinatra, ActiveRecord, y accesorios de la prueba.

Cuestiones relacionadas