Estoy con un pequeño problema aquí: ejecutar este proyecto con MAVEN y Pepino.

Estoy con la siguiente estructura de mi proyecto de MAVEN:

```
br.com.home.cucumberProjectWithWS
                |--- src/tests/java
                |                             |--- com.home.Model (secret)
                |                             |--- com.home.Control (secret)
                |                             |--- com.home.View
                                               |                             |--- ... (secret)
                                               |                             |--- Runner.java
                |                             |--- com.home.javaStepsFolder
                |                                                             |--- MyTestsSteps.java
                |--- src/main/java
                |--- src/main/resources
                |--- src/tests/resources
                |--- featuresFolder
                |                             |--- FirstFeature.feature
                |                             |--- SecondFeature.feature
                |                             |--- ThirdFeature.feature
                |--- pom.xml
```

La Runner.java de la clase es la siguiente:

```
package br.com.home.runner;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(monochrome = false, plugin = { "html:target/cucumber-html-report", "json:target/cucumber.json",
                               "pretty:target/cucumber-pretty.txt", "usage:target/cucumber-usage.json",
                               "junit:target/cucumber-results.xml" }, features = "featuresFolder", glue = { "br.com.home.javaStepsFolder" })
public class Runner {

}
```

La clase MyTestsSteps.java es algo como lo siguiente:

```
package br.com.home.runner;

import cucumber.api.*;

class MyTestsSteps{

                Scenario scenario;
                Controller controller = new Control();

                @Before
                public void doItBefore(Scenario scenario){
                               this.scenario = scenario;
                }

                @When("^we do something$")
                public void doSomething(){
                               controller.doSomething();
                }

                @When("^we do something else$")
                public void doSomethingElse(){
                               controller.doSomethingElse();
                }

                @Then("^we expect \"([^\"]*)$")
                public void weExpectSomeResult(String result){
                               assertTrue(controller.getResultExpected().equals(result));
                }
}
```

And my `pom.xml` is the following:

```
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
                <modelVersion>4.0.0</modelVersion>
                <groupId>com.home.cucumberProjectWithWS</groupId>
                <artifactId>com.home.cucumberProjectWithWS</artifactId>
                <version>0.0.1-SNAPSHOT</version>

                <dependencies>
                               <!-- CUCUMBER -->

                               <!-- CUCUMBER: Java -->

                               <dependency>
                                               <groupId>info.cukes</groupId>
                                               <artifactId>cucumber-java</artifactId>
                                               <version>1.2.4</version>
                                               <scope>test</scope>
                               </dependency>

                               <!-- CUCUMBER: Core -->
                               <dependency>
                                               <groupId>info.cukes</groupId>
                                               <artifactId>cucumber-core</artifactId>
                                               <version>1.2.4</version>
                               </dependency>

                               <!-- CUCUMBER: JUnit -->
                               <dependency>
                                               <groupId>info.cukes</groupId>
                                               <artifactId>cucumber-junit</artifactId>
                                               <version>1.2.4</version>
                                               <scope>test</scope>
                               </dependency>

                               <!-- CUCUMBER: JVM Deps -->
                               <dependency>
                                               <groupId>info.cukes</groupId>
                                               <artifactId>cucumber-jvm-deps</artifactId>
                                               <version>1.0.5</version>
                               </dependency>

                               <!-- CUCUMBER: Reports -->
                               <dependency>
                                               <groupId>net.masterthought</groupId>
                                               <artifactId>cucumber-reporting</artifactId>
                                               <version>2.5.0</version>
                               </dependency>

                               <!-- CUCUMBER: Gherkin -->
                               <dependency>
                                               <groupId>info.cukes</groupId>
                                               <artifactId>gherkin</artifactId>
                                               <version>2.12.2</version>
                               </dependency>

                               <!-- MOCKITO: All -->
                               <dependency>
                                               <groupId>org.mockito</groupId>
                                               <artifactId>mockito-all</artifactId>
                                               <version>1.10.19</version>
                               </dependency>

                               <!-- JUNIT -->
                               <dependency>
                                               <groupId>junit</groupId>
                                               <artifactId>junit</artifactId>
                                               <version>4.11</version>
                                               <scope>test</scope>
                               </dependency>
                </dependencies>


                <build>
                               <sourceDirectory>src/main/java</sourceDirectory>
                               <plugins>
                                               <plugin>
                                                               <artifactId>maven-compiler-plugin</artifactId>
                                                               <version>3.3</version>
                                                               <configuration>
                                                                               <source>1.8</source>
                                                                               <target>1.8</target>
                                                                               <encoding>UTF-8</encoding>
                                                               </configuration>
                                               </plugin>

                                               <plugin>
                                                               <groupId>org.apache.maven.plugins</groupId>
                                                               <artifactId>maven-surefire-plugin</artifactId>
                                                               <version>2.19.1</version>
                                                               <configuration>
                                                                               <properties>
                                                                                              <property>
                                                                                                              <name>junit</name>
                                                                                                              <value>true</value>
                                                                                              </property>
                                                                               </properties>
                                                                               <includes>
                                                                                              <include>**/*Runner.java</include>
                                                                               </includes>
                                                               </configuration>
                                               </plugin>

                               </plugins>
                </build>

</project>
```

Intento ejecutar:

```
mvn clean test
```

Y no funciona.

Quiero ejecutar las pruebas utilizando Maven y saber si es posible establecer la secuencia de ejecución de Pepino Pruebas.

He tratado de definir en @CucumberOptions características parámetro, pero no funciona!

```
features = "{featuresFolder/FirstFeature.feature, featuresFolder/SecondFeature.feature}"
```

y

```
features = {
                "featuresFolder/FirstFeature.feature", 
                "featuresFolder/SecondFeature.feature"
}
```

Y trata de hacer (como se recomienda en otros post aquí):

```
<includes>
                <exclude>**/*Runner.java</exclude>
</includes>
```

en pom.xml segura-configuración del plugin.

Pero no demasiado.

Alguien me podría ayudar a ejecutar este proyecto con MAVEN de la línea de comandos y Pepino si es posible.

Estoy usando Windows 8.1!
Y el proyecto se ejecute en Linux en el futuro.

Gracias.

  • Has intentado colocar su característica de los archivos dentro de ‘src/pruebas/recursos/características/’, y la actualización de las funciones de atributo dentro del pepino opciones?
  • Usted necesita para cambiar el nombre de su Runner.java a algo que termina con la Prueba de la palabra clave o ha de Prueba o termina con la Prueba. Sólo entonces infalible complemento selecciona automáticamente. De lo contrario, usted tendrá que agregar esto en las configuraciones en pom.xml.
  • Queridos @JamesMcGuigan, gracias por su respuesta, en primer lugar. Pero no funciona. Maven devuelve el error en Pepino Anotaciones. Por ejemplo: cannot find symbol. symbol: class When location: br.com.home.javaStepsFolder.
  • Queridos @Saltamontes, gracias por su respuesta, en primer lugar. Pero no funciona demasiado. :/ Me cambie el nombre de la Runner.java por TestRunner.java y no funciona demasiado.
  • Puedes intentar eliminar Corredor de exclusión patrón en pom.xml para infalible plugin y tratando de. Se debe recoger de forma automática. En lo incluye a usted han puesto en un excluye patrón en su pom
InformationsquelleAutor dsbonafe | 2016-09-13

4 Comentarios

  1. 3

    Ir a la ruta donde Pom.xml está situado. A continuación, ejecute el comando siguiente.

    Comando para ejecutar maven, pepino pruebas desde el símbolo del sistema.

    mvn clean prueba -Dcucumber.opciones=»src/recursos/características –etiquetas @@Your_tag»

    • gracias @dsbonafe para la aceptación de la respuesta. Espero que tu problema se resuelve.
  2. 2

    Me han resuelto el problema.
    Me quite la infalible plugin, actualización de mi proyecto y ejecutar:
    Después de haber reestructurado el proyecto:

    — Características del archivo debe estar en /src/recursos/prestaciones.
    — Archivo Java debe estar en /src/test/java y debe tener el nombre Steps.java.

    $ mvn clean install
    $ mvn -Dtest=RunnerTest test

    Gracias por todo.

  3. 0

    Trabajado para mí y después de ejecutar el siguiente comando

    mvn clean prueba -Dcucumber.opciones=»src/ressouces/características –etiquetas @@Your_tag»

Dejar respuesta

Please enter your comment!
Please enter your name here