MouseOver Studio

MouseOver Studio header image 2

RSpec::VRaptor agora com novos matchers e compatível com VRaptor Nice URLs

março 30th, 2009 por Diego Carrion · 1 comentário

Ja passaram uns dias desde que anuncie no meu Twitter a noticia, mas somente agora peguei um tempo para escrever aqui no blog então aí vai:

o RSpec::VRaptor é totalmente compatível com o novo VRaptor 2.6 Nice URLs!

O VRaptor 2.6 vem com um plugin chamado Nice URLs que permite definir rotas para à aplicação num arquivo, estilo Rails.

Mas não só isso, a ultima versão do RSpec::VRaptor adicionou uns matchers muito legais, segue um exemplo do que é possível realizar agora:

describe CarController do

  context "na action action1" do

    before :all do
      get "/car/action1", :cookies => {'key' => 'value'}
    end

    it "deve ter um header com a data da resposta" do
      @response.headers['Date'].should_not be_nil
    end

    it "não deve ter uma view de resposta" do
      @request.should be_viewless
    end

  end
  
  context "na action action2" do
    
    it "deve renderizar o arquivo action2.erb" do
      get "/car/action2"
      @request.should render("car/action2.erb")
    end
    
    it "deve redirecionar para a home se o usuário estiver logado" do
      get "/car/action2", :session => {'logged' => true}
      @response.should redirect_to("user/home")
    end
  
  end

end

Como podem ver, agora não só podemos injetar cookies no nossos requests, também podemos verificar os headers de resposta, validar se a requisição é viewless (método com anotação @Viewless), se vai ser renderizado um arquivo x ou se a resposta redireciona para algum outro recurso.

Tags: bdd · rspec · tdd · vraptor

1 resposta ate agora ↓

  • 1 Leandro Silva // mar 31, 2009 at 8:33 am

    Fala rapaz!

    Cara, parabéns pelo trabalho que você tem feito. Tô loko pra usar VRaptor em um de meus próximos projetos Java, pra provar um pouco desses sugars que você tem feito. :)

    Como é que tem sido em seus projetos? Tem aumentado muito a produtividade?

Deixar um comentário