tuto – ruby – test helpers

Voilà je suis chaud bouillant, je viens déjà de rajouter une rubrique sur le site (Sinatra), et dans la foulée, je vais rédiger un petit article sur les test helpers pour ruby, à savoir Rspec & Cucumber !

Il faut savoir avant de commencer ce que sont ces deux gems : des briques orientées behavior-driven development (alias BDD). Ces composants permettent aux développeurs de tester d’autres logiciels et applications qu’ils réalisent en ruby. Ils sont composés de tests d’acceptation automatisés écrits en style presque compréhensibles.

 

Cucumber

des blocs à exécuter avant et après le corps du programme :

Before do
  @inst = Instance.new
end

After do
  # do some others things
end

 

matérialiser des steps dans le programme :

Given /a condition with input n/ do |n|
  @inst.method n.to_i
end

When /another condition with another input/ do |op|
  @result = @inst.other_meth op
end

Then /last step completing the conditions above/ do |result|
  @result.should == result.to_f
end

 

Rspec

le mode descriptif est là aussi présent, je vous laisse juger de la lisibilité du code

describe Class do
  context 'with attributes' do
    before :each do
      @inst = Instance.get(1)
    end

    it 'should exist' do
      expect(@inst).not_to be_nil
    end

    it 'should have a name' do
      expect(@inst.name).not_to be_false
    end
  end
  # do other things...
end

 

C’est tout pour ce premier article, j’en ferais surement d’autres plus spécialisés pour chacun des gems présentés.

Enjoy