MouseOver Studio

MouseOver Studio header image 2

Testando Sinatra com RSpec

junho 16th, 2010 por Diego Carrion · 8 comentários

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

Tags: bdd · gonow · rspec · Sinatra · tdd

8 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 // ago 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 […]

  • 7 Emerson Vinicius // out 7, 2010 at 3:13 pm

    Muito bacana, não me lembro por que não coseguir usar seu código, mais fiz um template do sinatra com cucumber e rspec

    http://github.com/emersonvinicius/sinatra-template

  • 8 fkawau // ago 16, 2012 at 11:40 pm

    This is the reverse Testando Sinatra com RSpec journal for anyone who wants to seek out out nearly this message. You notice so overmuch its nearly debilitating to converse with you (not that I real would want…HaHa). You definitely put a new gyrate on a message thats been inscribed about for eld. Pleasant object, simply great!

Deixar um comentário