gabrielfalcao / lettuce

Behavior-driven-development tool for python, inspired by Cucumber for Ruby ⛺
http://lettuce.it
GNU General Public License v3.0
1.27k stars 324 forks source link

When using Background reporter repeats first scenario name for all scenarios #479

Open doup opened 9 years ago

doup commented 9 years ago

See how Escenario: Si no estas logeado la aplicación te redigire a la pantalla de login repeats as the scenario title for every scenario. This makes the report hard to read.

(feature at the bottom)

$ ./manage.py harvest
Creating test database for alias 'default'...
Django's builtin server is running at 0.0.0.0:8000

Funcionalidad: Login                                                              # gestioci/apps/inici/features/login.feature:3
  Como usuario invitado (Guest)                                                   # gestioci/apps/inici/features/login.feature:4
  Quiero poder hacer login                                                        # gestioci/apps/inici/features/login.feature:5
  Para poder acceder a la parte privada de GestioCI                               # gestioci/apps/inici/features/login.feature:6

  Background:
    Dado que existe un usuario "user" con password "pass"                         # terrain.py:98

> Escenario: Si no estas logeado la aplicación te redigire a la pantalla de login # gestioci/apps/inici/features/login.feature:11
    Dado que no estoy logeado                                                     # terrain.py:103
    Cuando accedo a "/"                                                           # terrain.py:107
    Entonces termino en "/login/?next=/"                                          # terrain.py:111

  Escenario: Tengo las credenciales correctas                                     # gestioci/apps/inici/features/login.feature:16

  Background:
    Dado que existe un usuario "user" con password "pass"                         # terrain.py:98

> Escenario: Si no estas logeado la aplicación te redigire a la pantalla de login # gestioci/apps/inici/features/login.feature:11
    Dado que no estoy logeado                                                     # terrain.py:103
    Y que accedo a la pantalla de login                                           # terrain.py:115
    Cuando relleno "Usuari" con "user"                                            # terrain.py:119
    Y relleno "Contrasenya" con "pass"                                            # terrain.py:119
    Y clico el boton "Login"                                                      # terrain.py:123
    Entonces termino en el dashboard                                              # terrain.py:127

  Escenario: Mi usuario y/o password es incorrecto                                # gestioci/apps/inici/features/login.feature:24

  Background:
    Dado que existe un usuario "user" con password "pass"                         # terrain.py:98

> Escenario: Si no estas logeado la aplicación te redigire a la pantalla de login # gestioci/apps/inici/features/login.feature:11
    Dado que no estoy logeado                                                     # terrain.py:103
    Y que accedo a la pantalla de login                                           # terrain.py:115
    Cuando relleno "Usuari" con "user"                                            # terrain.py:119
    Y relleno "Contrasenya" con "wr0ng.p4ss"                                      # terrain.py:119
    Y clico el boton "Login"                                                      # terrain.py:123
    Entonces termino en "/login/"                                                 # terrain.py:111
    Y veo el texto "El sistema ha rebutjat les credencials introduïdes"           # terrain.py:131

1 feature (1 passed)
3 scenarios (3 passed)
16 steps (16 passed)

Test Suite Summary:
1 feature (1 passed)
3 scenarios (3 passed)
16 steps (16 passed)

Feature:

# language: es
Funcionalidad: Login
    Como usuario invitado (Guest)
    Quiero poder hacer login
    Para poder acceder a la parte privada de GestioCI

    Contexto:
        Dado que existe un usuario "user" con password "pass"

    Escenario: Si no estas logeado la aplicación te redigire a la pantalla de login
        Dado que no estoy logeado
        Cuando accedo a "/"
        Entonces termino en "/login/?next=/"

    Escenario: Tengo las credenciales correctas
        Dado que no estoy logeado
        Y que accedo a la pantalla de login
        Cuando relleno "Usuari" con "user"
        Y relleno "Contrasenya" con "pass"
        Y clico el boton "Login"
        Entonces termino en el dashboard

    Escenario: Mi usuario y/o password es incorrecto
        Dado que no estoy logeado
        Y que accedo a la pantalla de login
        Cuando relleno "Usuari" con "user"
        Y relleno "Contrasenya" con "wr0ng.p4ss"
        Y clico el boton "Login"
        Entonces termino en "/login/"
        Y veo el texto "El sistema ha rebutjat les credencials introduïdes"
doup commented 9 years ago

Maybe something like this would be more sane?

$ ./manage.py harvest
Creating test database for alias 'default'...
Django's builtin server is running at 0.0.0.0:8000

Funcionalidad: Login                                                              # gestioci/apps/inici/features/login.feature:2
  Como usuario invitado (Guest)                                                   # gestioci/apps/inici/features/login.feature:3
  Quiero poder hacer login                                                        # gestioci/apps/inici/features/login.feature:4
  Para poder acceder a la parte privada de GestioCI                               # gestioci/apps/inici/features/login.feature:5

  Escenario: Si no estas logeado la aplicación te redigire a la pantalla de login # gestioci/apps/inici/features/login.feature:7
    Dado que existe un usuario "user" con password "pass"                         # terrain.py:98
    ---
    Dado que no estoy logeado                                                     # terrain.py:103
    Cuando accedo a "/"                                                           # terrain.py:107
    Entonces termino en "/login/?next=/"                                          # terrain.py:111

  Escenario: Tengo las credenciales correctas                                     # gestioci/apps/inici/features/login.feature:13
    Dado que existe un usuario "user" con password "pass"                         # terrain.py:98
    ---
    Dado que no estoy logeado                                                     # terrain.py:103
    Y que accedo a la pantalla de login                                           # terrain.py:115
    Cuando relleno "Usuari" con "user"                                            # terrain.py:119
    Y relleno "Contrasenya" con "pass"                                            # terrain.py:119
    Y clico el boton "Login"                                                      # terrain.py:123
    Entonces termino en el dashboard                                              # terrain.py:127

  Escenario: Mi usuario y/o password es incorrecto                                # gestioci/apps/inici/features/login.feature:22
    Dado que existe un usuario "user" con password "pass"                         # terrain.py:98
    ---
    Dado que no estoy logeado                                                     # terrain.py:103
    Y que accedo a la pantalla de login                                           # terrain.py:115
    Cuando relleno "Usuari" con "user"                                            # terrain.py:119
    Y relleno "Contrasenya" con "wr0ng.p4ss"                                      # terrain.py:119
    Y clico el boton "Login"                                                      # terrain.py:123
    Entonces termino en "/login/"                                                 # terrain.py:111
    Y veo el texto "El sistema ha rebutjat les credencials introduïdes"           # terrain.py:131

1 feature (1 passed)
3 scenarios (3 passed)
19 steps (19 passed)

Test Suite Summary:
1 feature (1 passed)
3 scenarios (3 passed)
19 steps (19 passed)
Destroying test database for alias 'default'...