Настройка Cucumber, Capybara и RSpec с модульным приложением Sinatra

Вот мой config.ru

$:.unshift File.join(File.expand_path(File.dirname(__FILE__)), 'config')
require 'boot'

Routes = Rack::Mount::RouteSet.new do |set|
  set.add_route App::Users, { :path_info => %r{^/users*} }, {}, :users
  set.add_route App::Dashboard, { :path_info => %r{^/$} }, {}, :dashboard
  set.add_route Rack::File.new(File.dirname(__FILE__) + "/public"), { :path_info => %r{^/*} }, {}, :public
end

run Routes

boot.rb

require 'bundler'
Bundler.setup
Bundler.require(:default)
Mongoid.load!(File.join(File.dirname(__FILE__), '/mongoid.yml'))
%w(sinatra json yaml rack/mount rack/contrib).each {|l| require l }
Dir["./lib/**/*.rb"].each { |f| require f }

И моя lib содержит приложения и модели.

Как позволить Cucumber видеть мое приложение:

вот огурец env.rb

require 'capybara'
require 'capybara/cucumber'
require 'rspec'

World do
  Capybara.app = App
  include Capybara
  include RSpec::Expectations
  include RSpec::Matchers
end

Я хочу, чтобы env.rb прочитал мой config.ru и подготовил мой огурец для тестирования.

7
задан amrnt 14 May 2011 в 11:07
поделиться