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