Recentemente a Gonow foi contratada para trabalhar num projeto que já tinha passado por outras duas consultorias com desenvolvedores bastante reconhecidos no mercado nacional. A aplicação foi construída sobre Sinatra e algo que me chamou muito a atenção é que a aplicação não tinha uma linha de teste. Mesmo não sendo uma justificativa, aparentemente não existe nada em português falando sobre como integrar o Sinatra com o RSpec e por isso vou aproveitar para dar uma receita de bolo, de modo que o processo fique mais simples ainda:
* spec/spec_helper.rb:
require File.join(File.dirname(__FILE__), '..', 'main.rb')
require 'spec'
require 'rack/test'
Spec::Runner.configure do |conf|
conf.include Rack::Test::Methods
end
def app
Sinatra::Application
end
* spec/main_spec.rb:
require 'spec_helper'
describe Sinatra::Application do
context "responding to GET /" do
it "should return status code 200"
get '/'
last_response.code.should == 200
end
end
end
* Rakefile:
...
require 'spec/rake/spectask'
desc "Run all specs"
Spec::Rake::SpecTask.new do |t|
t.spec_opts = %w(--format specdoc --color)
end
6 respostas ate agora ↓
1 Vinicius B. Fuentes // Jun 16, 2010 at 9:36 pm
RSpec funciona mto bem com o sinatra… Usei Capybara também, com rack-test, funciona que é uma beleza!
2 PotHix // Jun 16, 2010 at 11:53 pm
Æ!!
Funciona muito bem mesmo!
Inclusive, se você estiver usando o Sinatra dentro de uma aplicação Metal no Rails 2.3.x e quiser testar, basta lembrar de alterar para Sinatra::Base ao invés de Sinatra::Application e seguir a mesma linha para os testes, apenas alterando o método app (def app … end ), para instanciar a sua classe ao invés de usar Sinatra::Application diretamente
Pretendo fazer um post sobre isso em breve.
Há braços
3 WillianFernandes.com.br » Testando Sinatra com RSpec (dica para que usa Rails Metal) // Jun 17, 2010 at 5:42 pm
[…] ler o post do Diego Carrion sobre como usar RSpec para testar uma aplicação Sinatra, lembrei que tive um problema com os […]
4 PotHix // Jun 17, 2010 at 5:50 pm
Æ!!
“Pretendo fazer um post sobre isso em breve.” #FAIL
Foram mais rápido.
Há braços
5 Diego Carrion // Jun 27, 2010 at 1:58 pm
Obrigado pelos complementos
6 Testando Sinatra com RSpec (dica para quem usa Rails Metal) | Blog Vale // Aug 3, 2010 at 9:39 am
[…] ler o post do Diego Carrion sobre como usar RSpec para testar uma aplicação Sinatra, lembrei que tive um problema com os […]
Deixar um comentário