2010-06-03 8 views

Respuesta

76

Puede marcar la función con el @ignore etiqueta:

@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' 
+1

Genial, ¿hay algún lugar donde pueda encontrar una lista de atributos? –

+2

Estamos hablando de etiquetas aquí. @ignore es la única etiqueta "predefinida". Otras etiquetas se pueden definir libremente para controlar los Antes/Después de los ganchos y para ejecutar funciones de forma selectiva. – jbandi

+1

Me gustaría ver el código del generador, ya que proporciona la respuesta más precisa: https://github.com/techtalk/SpecFlow/blob/master/Generator/UnitTestProvider/MsTest2010GeneratorProvider.cs También está el registro de cambios de SpecFlow https : //github.com/techtalk/SpecFlow/blob/master/changelog.txt y voy a citar: "MsTest: Soporte para los atributos [propietario] y [WorkItem] de MSTest con etiquetas como \ @owner: foo \ @workitem: 123 (Problema 162, extracción 161)" Sin embargo, la lista de atributos tipo de depende del marco de prueba y el corredor de prueba que está utilizando junto con SpecFlow :) –

1

Como jbandi sugiere que puede utilizar la etiqueta @ignore.

Tag se puede aplicar a:

  • un único escenario
  • una característica completa

Dada NUnit como el proveedor de prueba, el resultado en el código generado es la inserción de la

[NUnit.Framework.IgnoreAttribute()]

al método o la clase.

7

En la versión reciente de Specflow, que ahora también tiene que proporcionar una razón con la etiqueta, así:

@ignore("reason for ignoring") 

EDIT: Por alguna razón se rompe con espacios pero esto funciona:

@ignore("reason") 
0
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  | 

considerar lo anterior como archivo de función "CheckSample.feature"

Y a continuación es el archivo de paso, es solo parcial archivo:

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 a continuación será corredor archivo:

@RunWith(Cucumber.class) 
@CucumberOptions(
     plugin = {"pretty", "html:target/reports", 
"json:target/reports/cucumber-report.json"}, 
     monochrome = true, 
     tags = {"[email protected]"} 
     ) 

public class junittestOne { 

    public static void main(String[] args) { 
     JUnitCore junit = new JUnitCore(); 
     Result result = junit.run(junittestOne.class); 
    } 

    } 

importante señalar aquí, el texto "@ignored" en el archivo de función se menciona en CucumberOptions (tags) con en " junittestone "archivo de clase. 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.

Cuestiones relacionadas