{"id":6480,"date":"2014-09-06T04:29:11","date_gmt":"2014-09-06T04:29:11","guid":{"rendered":"https:\/\/dev.railscarma.com\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/"},"modified":"2022-08-30T09:08:15","modified_gmt":"2022-08-30T09:08:15","slug":"come-testare-lapplicazione-rails-3-2-3-utilizzando-cetriolobdd","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/it\/blog\/gestione\/come-testare-lapplicazione-rails-3-2-3-utilizzando-cetriolobdd\/","title":{"rendered":"Test dell&#039;applicazione Rails 3.2.3 utilizzando Cucumber (BDD)"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6480\" class=\"elementor elementor-6480\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5d1547e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5d1547e\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-498eb14a\" data-id=\"498eb14a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b8d3142 elementor-widget elementor-widget-text-editor\" data-id=\"6b8d3142\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3 style=\"text-align: justify;\">Cos&#039;\u00e8 il cetriolo?<\/h3>\n<p style=\"text-align: justify;\">Il cetriolo viene utilizzato per lo sviluppo guidato dal comportamento. Cucumber consente ai team di sviluppo software di descrivere come dovrebbe comportarsi il software in testo semplice. Il testo \u00e8 scritto in un linguaggio specifico del dominio leggibile dal business e funge da documentazione, test automatizzati e aiuto allo sviluppo, il tutto riunito in un unico formato.<\/p>\n<p style=\"text-align: justify;\">Il cetriolo funziona con <a href=\"https:\/\/www.railscarma.com\/it\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Rubino sui binari<\/strong><\/a>, Java, .NET, Flex o applicazioni web scritte in qualsiasi linguaggio. \u00c8 stato tradotto in oltre 40 lingue parlate. Cucumber supporta anche test pi\u00f9 concisi nelle tabelle, in modo simile a quanto fa FIT.<\/p>\n<h4 style=\"text-align: justify;\" align=\"JUSTIFY\"><strong>Installa cetriolo per Rails 3:<\/strong><\/h4>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\">Installa cetriolo, binari Rspec e gemma di capibara<\/p>\n<pre>sudo gem installa cetriolo-rails sudo gem installa database_cleaner sudo gem installa rspec-rails sudo gem installa capibara<\/pre>\n<ul style=\"text-align: justify;\">\n<li>\n<p align=\"JUSTIFY\">Cucumber \u00e8 un framework di sviluppo guidato dal comportamento (BDD), particolarmente utile per l&#039;integrazione e i test funzionali<\/p>\n<\/li>\n<li>RSpec \u00e8 un framework BDD ( Behavior Driven Development ) per test di basso livello nel linguaggio Ruby<\/li>\n<li>database_cleaner esegue la pulizia del DB durante i test<\/li>\n<li>capibara simula un browser, automatizza un browser o imposta aspettative utilizzando i matcher.<\/li>\n<\/ul>\n<h4 style=\"text-align: justify;\">&nbsp;<\/h4>\n<h4 style=\"text-align: justify;\">Utilizzando Cucumber per testare l&#039;applicazione Rails 3:<\/h4>\n<p style=\"text-align: justify;\">1. Crea una nuova applicazione Rails <em>negozio<\/em><\/p>\n<p style=\"text-align: justify;\"><em>$rails nuovo negozio -d mysql<\/em><\/p>\n<p style=\"text-align: justify;\"><em>2. Modifica il Gemfile<\/em><\/p>\n<p style=\"text-align: justify;\"><em>Includi le gemme di cetriolo in un&#039;applicazione Rails 3<\/em><\/p>\n<pre>   gruppo :test, :development do gem &#039;rspec-rails&#039; gem &#039;cucumber-rails&#039; gem &#039;capybara&#039; gem &#039;database_cleaner&#039;\n<em> FINE<\/em>\n<em>3. installazione del pacchetto<\/em><\/pre>\n<p style=\"text-align: justify;\"><em>4. Installa i file skeleton di cetriolo in un&#039;applicazione Rails 3.<\/em><\/p>\n<pre><em>I binari $ generano cetriolo: installa <\/em><\/pre>\n<p style=\"text-align: justify;\"><em>Il generatore di cetrioli crea le directory:<\/em><\/p>\n<p style=\"text-align: justify;\"><strong>caratteristiche\/definizioni_passo<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>funzionalit\u00e0\/supporto<\/strong><\/p>\n<p style=\"text-align: justify;\">Il generatore di cetrioli crea i file:<\/p>\n<p style=\"text-align: justify;\"><strong>config\/cucumber.yml<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>features\/support\/env.rb<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>lib\/tasks\/cucumber.rake<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>copione\/cetriolo<\/strong><\/p>\n<pre><em>5. rastrello <\/em>db:crea 6. rastrella db:migra<\/pre>\n<p style=\"text-align: justify;\"><em>7. Esegui le funzionalit\u00e0 di Cucumber<\/em><\/p>\n<p style=\"text-align: justify;\"><em>$rake cetriolo<\/em><\/p>\n<h5 style=\"text-align: justify;\">Crea funzionalit\u00e0 di cetriolo:<\/h5>\n<ul style=\"text-align: justify;\">\n<li><em>Crea una funzionalit\u00e0 Cucumber per il test delle applicazioni RoR 3<\/em><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><em>Funzionalit\u00e0 $vi\/manage_store.feature<\/em><\/p>\n<ul style=\"text-align: justify;\">\n<li><em>Cucumber Feature \u00e8 la specifica di test per gli utenti aziendali scritta in un inglese semplice con un formato specifico<\/em><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><em>Formato delle caratteristiche<\/em><\/p>\n<pre><em> Caratteristica: ...<\/em>\n   In ordine... Qualche Attore... Dovrebbe... Scenario: ... Dato... E... Quando... E... Allora... E...<\/pre>\n<p style=\"text-align: justify;\"><strong>Implementa i passaggi di test e il codice del modello Ruby on Rails per Cucumber on Rails:<\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li><em>Crea definizioni di passaggi di cetriolo<\/em><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><em>$vi features\/step_definitions\/order_steps.rb<\/em><\/p>\n<ul style=\"text-align: justify;\">\n<li><em>Cucumber utilizza l&#039;espressione regolare per trovare la corrispondenza con la stringa e passarla alle definizioni dei passaggi<\/em><\/li>\n<li><em>Esegui cetriolo<\/em><\/li>\n<\/ul>\n<pre><em>$rake cetriolo<\/em><\/pre>\n<h6 style=\"text-align: justify;\">Un esempio potrebbe essere la capacit\u00e0 di gestire aziende:<\/h6>\n<pre><em>Caratteristica: Gestisci le aziende<\/em>\n\n<em> Per tenere traccia delle aziende, l&#039;utente dovrebbe essere in grado di gestire le aziende<\/em>\n\n<em>Scenario: creare una nuova societ\u00e0<\/em>\n\n<em> Dato che ho effettuato l&#039;accesso<\/em>\n\n<em> Quando creer\u00f2 una nuova societ\u00e0 denominata Acme<\/em>\n\n<em> Allora dovrei vedere che esiste una societ\u00e0 chiamata Acme <\/em>\n\n<em>caratteristiche\/<\/em>\n\n<em>aziende.funzione<\/em>\n\n<em>passi\/<\/em>\n\n<em>azienda_passi.rb<\/em>\n\n<strong>Dato == Impostazione<\/strong>\n\n<em>Dato &quot;Ho effettuato l&#039;accesso&quot;, fallo<\/em>\n\n<em>utente = Fabbrica(:utente)<\/em>\n\n<em>visita new_session_path<\/em>\n\n<em>riempie_in &#039;Accedi&#039;,<\/em>\n\n<em>:con =&gt; utente.login<\/em>\n\n<em>fills_in &#039;Password&#039;, :with =&gt; utente.password<\/em>\n\n<em>clicks_button &#039;Accedi&#039;<\/em>\n\n<em>FINE<\/em>\n\n<em>Dato &quot;Ho effettuato l&#039;accesso&quot;, fallo<\/em>\n\n<em>utente = Fabbrica(:utente)<\/em>\n\n<em>visita new_session_path<\/em>\n\n<em>riempie_in &#039;Accedi&#039;,<\/em>\n\n<em>:con =&gt; utente.login<\/em>\n\n<em>fills_in &#039;Password&#039;, :with =&gt; utente.password<\/em>\n\n<em>clicks_button &#039;Accedi&#039;<\/em>\n\n<em>FINE<\/em>\n\n<strong>Quando == Cambia<\/strong>\n\n<em>Quando &quot;Creo una nuova societ\u00e0 denominata $name&quot; esegui |name|<\/em>\n\n<em>visita new_company_path<\/em>\n\n<em>fills_in &#039;Nome&#039;, :with =&gt; nome<\/em>\n\n<em>clicks_button &#039;Crea&#039;<\/em>\n\n<em>FINE<\/em>\n\n<strong>Quindi == Risultato<\/strong>\n\n<em>Quindi &quot;dovrei vedere che esiste una societ\u00e0 denominata $name&quot; fare |name|<\/em>\n\n<em>risposta.body.dovrebbe =~ Regexp.new(nome)<\/em>\n\n<em>FINE<\/em>\n\n<em>Ad ogni passaggio \u00e8 necessario eseguire il cetriolo e verificare il risultato.<\/em><\/pre>\n<p><a href=\"\/it\/contattaci\/\">Mettiti in contatto con noi.<\/a><\/p>\n<p><\/p>\n<p><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7672ba8d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7672ba8d\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-271e9474\" data-id=\"271e9474\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-229eb92a elementor-widget elementor-widget-heading\" data-id=\"229eb92a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Iscriviti per gli ultimi aggiornamenti<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70849338 elementor-widget elementor-widget-shortcode\" data-id=\"70849338\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"caricatore\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Indirizzo e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nome\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"sottoscrivi\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"it\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articoli correlati<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gemma di Kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n        Gemma Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"perch\u00e9 assumere sviluppatori di Ruby on Rails nel 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n        Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n        Importanza dell&#039;architettura software nello sviluppo di software aziendale  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"LE MIGLIORI IDEE PER LO SVILUPPO DI RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>What is Cucumber? Cucumber is used for Behavior Driven Development. Cucumber lets software development teams describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated tests and development-aid &#8211; all rolled into one format. Cucumber works with Ruby on Rails, Java, .NET, Flex &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/it\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) with Examples<\/span> Leggi altro \"<\/a><\/p>","protected":false},"author":1,"featured_media":32087,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[385],"tags":[480,413,389,379,382,486],"class_list":["post-6480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-management","tag-rails-3-2-3","tag-cucumber","tag-rails","tag-rails-application","tag-ruby-on-rails","tag-ruby-on-rails-application-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Testing Rails 3.2.3 Application Using Cucumber (BDD) - RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"Cucumber is used for Behavior Driven Development. It works with Ruby on Rails, Java, .NET, Flex or web applications written in any language.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/it\/blog\/gestione\/come-testare-lapplicazione-rails-3-2-3-utilizzando-cetriolobdd\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testing Rails 3.2.3 Application Using Cucumber (BDD) - RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"Cucumber is used for Behavior Driven Development. It works with Ruby on Rails, Java, .NET, Flex or web applications written in any language.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/it\/blog\/gestione\/come-testare-lapplicazione-rails-3-2-3-utilizzando-cetriolobdd\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-06T04:29:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-08-30T09:08:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Testing Rails 3.2.3 Application Using Cucumber (BDD)\",\"datePublished\":\"2014-09-06T04:29:11+00:00\",\"dateModified\":\"2022-08-30T09:08:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/\"},\"wordCount\":321,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg\",\"keywords\":[\"Articles on Rails 3.2.3\",\"cucumber\",\"rails\",\"rails application\",\"Ruby on rails\",\"ruby on rails application development\"],\"articleSection\":[\"Articles on Management\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/\",\"name\":\"Testing Rails 3.2.3 Application Using Cucumber (BDD) - RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg\",\"datePublished\":\"2014-09-06T04:29:11+00:00\",\"dateModified\":\"2022-08-30T09:08:15+00:00\",\"description\":\"Cucumber is used for Behavior Driven Development. It works with Ruby on Rails, Java, .NET, Flex or web applications written in any language.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testing Rails 3.2.3 Application Using Cucumber (BDD)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testare l&#039;applicazione Rails 3.2.3 utilizzando Cucumber (BDD) - Blog RailsCarma","description":"Il cetriolo viene utilizzato per lo sviluppo guidato dal comportamento. Funziona con Ruby on Rails, Java, .NET, Flex o applicazioni web scritte in qualsiasi linguaggio.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/it\/blog\/gestione\/come-testare-lapplicazione-rails-3-2-3-utilizzando-cetriolobdd\/","og_locale":"it_IT","og_type":"article","og_title":"Testing Rails 3.2.3 Application Using Cucumber (BDD) - RailsCarma Blog","og_description":"Cucumber is used for Behavior Driven Development. It works with Ruby on Rails, Java, .NET, Flex or web applications written in any language.","og_url":"https:\/\/www.railscarma.com\/it\/blog\/gestione\/come-testare-lapplicazione-rails-3-2-3-utilizzando-cetriolobdd\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2014-09-06T04:29:11+00:00","article_modified_time":"2022-08-30T09:08:15+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Testing Rails 3.2.3 Application Using Cucumber (BDD)","datePublished":"2014-09-06T04:29:11+00:00","dateModified":"2022-08-30T09:08:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/"},"wordCount":321,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg","keywords":["Articles on Rails 3.2.3","cucumber","rails","rails application","Ruby on rails","ruby on rails application development"],"articleSection":["Articles on Management"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/","url":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/","name":"Testare l&#039;applicazione Rails 3.2.3 utilizzando Cucumber (BDD) - Blog RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg","datePublished":"2014-09-06T04:29:11+00:00","dateModified":"2022-08-30T09:08:15+00:00","description":"Il cetriolo viene utilizzato per lo sviluppo guidato dal comportamento. Funziona con Ruby on Rails, Java, .NET, Flex o applicazioni web scritte in qualsiasi linguaggio.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/rails3.2.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-test-rails-3-2-3-application-using-cucumberbdd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Testing Rails 3.2.3 Application Using Cucumber (BDD)"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Societ\u00e0 di sviluppo Ruby on Rails specializzata nello sviluppo offshore","description":"RailsCarma \u00e8 una societ\u00e0 di sviluppo Ruby on Rails a Bangalore. Siamo specializzati nello sviluppo offshore di Ruby on Rails con sede negli Stati Uniti e in India. Assumi sviluppatori esperti di Ruby on Rails per la migliore esperienza Web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"amministratore","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/6480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/comments?post=6480"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/6480\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media\/32087"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media?parent=6480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/categories?post=6480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/tags?post=6480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}