Concombre - Débogage

Il est très probable que votre test échoue pour des raisons inconnues. Identifier la cause de l'échec et la corriger est très important. Ce processus est connu sous le nom dedebugging. Voici quelques conseils et astuces qui facilitent un peu le débogage de Cucumber.

L'option de débogage est disponible avec Eclipse. Placez le point de rupture. Cliquez sur le fichier et déboguez en suivant les étapes suivantes -

Step 1 - Placez les points d'arrêt manuels dans le fichier de définition d'étape Ruby.

Exemple

require 'ruby-debug' 
Then /^the process should exit cleanly$/ do 
breakpoint 
assert @exited_cleanly, "Process did not exit cleanly: #{@stdout}" 
end

Step 2 - Nous pouvons également définir une étape de débogage distincte comme la suivante dans le fichier de définition d'étape.

Then /^I debug$/ do 
breakpoint 
0 
end

Step 3 - Webratest l'outil par défaut pour les tests de concombre avec Rails. Il vous permet de faire des choses comme cliquer sur des liens, taper et soumettre des formulaires, etc.

Il y aura des moments où vous essayez de cliquer sur quelque chose, par exemple, et ce n'est pas là. Vous obtiendrez une grosse goutte de HTML renvoyée, et comprendre ce que cela signifie exactement peut être un véritable frein.

save_and_open_page

Webrat fournit une méthode save_and_open_page qui capture le HTML actuel, l'enregistre, puis l'ouvre dans un navigateur pour vous. Extrêmement utile.

When /^I follow "(.*)"$/ do |link| 
save_and_open_page 
click_link(link) 
end