que tenían este problema Cucumber scenarios for extremely long work flowpepino y persistentes escenarios (o requisitos previos)
Y ahora que he estado escribiendo escenarios aislados para cada uno de una larga serie de pasos de forma de varias partes. Tengo una sección Background
que configura cada Scenario
. Pero ahora cuando ejecuto la función completa, pepino quiere repetir el Background
por cada Scenario
. Quiero probar un Scenario
que se basa en todos los anteriores.
Aquí está el esbozo de lo que mi función será similar a:
Feature: Submit a manuscript
In order to complete a manuscript submission
As a corresponding author
I want to complete the to-do list
Background:
Given I am logged in as "Steve"
And an article_submission "Testing Web Apps" exists
And "Steve" is a "Corresponding Author" for "Testing Web Apps"
And I am on the manuscript to-do list page for "Testing Web Apps"
Scenario: Steve suggests reviewers for his manuscript
...
Scenario: Steve completes the manuscript fees to-do item
...
Scenario: Steve wants to add Barbara as a co-author
...
Scenario: Steve uploads necessary files
...
Scenario: Steve edits the fees page and general information page
...
Scenario: Steve re-uploads the manuscript file
...
Scenario: Steve completes the Copyright Transfer
...
Scenario: Steve completes Author Responsibilities & Agreement
...
# These scenarios depend on all the previous ones having run
Scenario: Steve Completes submission
...
Scenario: Steve goes back and make changes
...
Scenario: Steve fills out payment page
es que hay manera de requerir escenarios anteriores para ser ejecutado? ¿Y hay una forma de ejecutar el Background
solo una vez?
Creo que puede estar haciendo las cosas más difíciles para usted de lo necesario. Lo que ha enumerado como escenarios me lo leen como pasos en un escenario en su lugar. Como Pan mencionó en la respuesta a la pregunta a la que se vincula, sus escenarios deben ser independientes y no tener dependencias entre ellos de esta manera. Si fuera yo, colapsaría el fondo y los escenarios en un puñado pequeño (los 3 al final probablemente se convertirían en 1 escenario) y usaría pasos de nivel más alto como "Dado que Steve ha completado la presentación del manuscrito" y verificaciones en aquellos para asegurarse de que cada paso funcionó. –
Estos escenarios son, en su mayor parte, autónomos. Créame, estos escenarios no son cortos. Ya tengo cientos de pasos. Combinarlos hace que sea más difícil de leer y menos autónomo. He rediseñado siempre que pude para mover los pasos comúnmente utilizados en los archivos de definición de pasos. Lo que realmente necesito es una forma de congelar la base de datos después de que se ejecute una característica y luego cargarla antes de la siguiente función dependiente. –
La forma en que funciona nuestra aplicación es que hay un flujo de trabajo largo para un autor, luego otro para un revisor y otro para el proceso de revisión. Cada flujo de trabajo depende de las condiciones establecidas por el anterior. Ya tengo muchos accesorios y fábricas cargando datos, pero lo que necesito es una fábrica que cree todos los modelos a la vez. No quiero repetir la Característica A y B cada vez que necesito probar la Función C. –