cucumber - test - ¿Cómo desactivo una función en el flujo de especificaciones(Gherkin) sin eliminar la función?
cucumber tags (4)
Como jbandi sugiere, puedes usar la etiqueta @ignore.
La etiqueta se puede aplicar a:
- un solo escenario
- una característica completa
Dado NUnit como el proveedor de prueba, el resultado en el código generado es la inserción del
[NUnit.Framework.IgnoreAttribute ()]
al método o la clase.
Tengo algunas características de SpecFlow (usando la sintaxis de Gherkin) y me gustaría deshabilitar temporalmente la función para evitar que se ejecuten las pruebas.
¿Hay algún atributo con el que pueda marcar la función para hacer esto? Supongo que algo que funciona con Cucumber también podría funcionar con SpecFlow.
En la versión reciente de Specflow, ahora también debe proporcionar un motivo con la etiqueta, de esta manera:
@ignore("reason for ignoring")
EDITAR: por alguna razón rompe con espacios pero esto funciona:
@ignore("reason")
Puede marcar la característica con la etiqueta @ignore:
@ignore @web
Scenario: Title should be matched
When I perform a simple search on ''Domain''
Then the book list should exactly contain book ''Domain Driven Design''
Feature: CheckSample
@ignored
Scenario Outline: check ABC #checkout.feature:2
Given I open the applciation
When I enter username as "<username>"
And I enter password as "<password>"
Then I enter title as "<title>"
Examples:
| username | password |
| dude | daad |
considere lo anterior como el archivo de características "CheckSample.feature"
Y debajo está su archivo de paso, es solo un archivo parcial:
public class Sampletest {
@Given("^I open the applciation$")
public void i_open_the_applciation() throws Throwable {
// Write code here that turns the phrase above into concrete actions
//throw new PendingException();
}
Ahora debajo será el archivo de corredor:
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = {"pretty", "html:target/reports",
"json:target/reports/cucumber-report.json"},
monochrome = true,
tags = {"~@ignored"}
)
public class junittestOne {
public static void main(String[] args) {
JUnitCore junit = new JUnitCore();
Result result = junit.run(junittestOne.class);
}
}
Es importante tener en cuenta que el texto "@ignored" en el archivo de características se menciona en CucumberOptions (etiquetas) con el archivo de clase "junittestone". Además, asegúrese de tener todos los archivos jar relevantes para pepino, pepinillo, Junit y otros frascos disponibles en su proyecto y los ha importado en sus definiciones de pasos (clase).
Debido a "ignorado", el escenario se omitirá al ejecutar las pruebas.