2010-05-14 8 views

Odpowiedz

1

ActiveRecord zawiera wsparcie dla lamp, wystarczy podłączyć je w 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 

Następnie można użyć urządzeń na testowych klasach.

# 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 

Skonfiguruj rake, aby sprawdzić swoje testy we właściwych miejscach.

# 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 

mam napisali small example application wykazać za pomocą Sinatrę, ActiveRecord i urządzeń testowych.

Powiązane problemy