Marcio Trindade

Agosto de 2013

A nova sintaxe de mocks do rspec

No último artigo escrevi sobre a nova sintaxe do rspec, agora vou falar sobre a nova sintaxe para os mocks do rspec. Veja a documentação.

Apartir do rspec 2.14.0 as duas sintaxes estão presentes e você pode especificar qual deseja usar no spec_helper.

spec_helper.rb
RSpec.configure do |config|
  config.mock_with :rspec do |c|
    # c.syntax = [:expect, :should]
    # c.syntax = :should
    c.syntax = :expect
  end
  config.expect_with :rspec do |c|
    # c.syntax = [:should, :expect]
    # c.syntax = :should
    c.syntax = :expect
  end

A nova sintaxe do rspec

O Rspec agora possui uma nova sintaxe que ao meu ponto de vista ficou um pouco mais coeso com o que realmente o teste está testando.

Pra configurar é bem simples, basta você setar qual modo deseja usar no seu spec_helper.

spec_helper.rb
RSpec.configure do |config|
  config.expect_with :rspec do |c|
    # c.syntax = [:should, :expect]
    # c.syntax = :should
    c.syntax = :expect
  end
end

Acredito que o código acima é auto explicativo e não se faz necessário explicações.


Utilizando gems locais em desenvolvimento

Hoje encontrei uma dica muito útil no site The Life of a Radar.

Quem utiliza alguma gem na qual está trabalhando constantemente sabe como é chato ficar alterando o arquivo Gemfile sempre que vai fazer um deploy. Este é o meu caso que tenho os models do meu projeto separado em uma gem (Rails Engine) a fim de reutiliza-los em todos os projetos, tanto front-end quanto workers.

Como a maior parte do tempo estou desenvolvendo, mantenho o meu Gemfile configurado desta forma:

Gemfile
gem 'projet-models', path: "../project-models"