Erreur lors de l'exécution de concombre dans junit
Salut, je suis nouveau sur le concombre de java. je suis en train de lancer un simple concombre de test de fonctionnalité. ci-dessous sont mes fonctionnalité de fichier, l'étape de définition de fichier et junit coureur de fichier. mais je ne suis pas en mesure d'exécuter le test avec succès dans le concombre de java,de concombre-junit version 1.1.6.
Fonction fichier
Feature: Test if f1 feature is working
Scenario: valid scenario
Given input1 is "t"
When input2 is also "t"
Then result should be "pass"
Stepdefinition fichier
package cucumberFrameworkPractise;
import org.junit.Assert;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
public class CucumberStepDefinitionTest {
String input1,input2,result;
@Given("input1 is \"([^\"]*)\"$")
public void input1(String input1)
{
this.input1=input1;
}
@When("input2 is also \"([^\"]*)\"$")
public void input2(String input2)
{
this.input2=input2;
}
@Then("result should be \"([^\"]*)\"$")
public void result(String result)
{
this.result=result;
Assert.fail();
}
}
Concombre coureur fichier
package cucumberFrameworkPractise;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/cucumberFrameworkPractise", format = {
"pretty", "html:target/cucumber-htmlreport",
"json-pretty:target/cucumber-report.json" })
public class CucumberRunner {
}
Je suis d'erreur ci-dessous:
java.lang.NoSuchMethodError: cucumber.runtime.RuntimeOptions.<init>(Ljava/util/List;)V
at cucumber.runtime.RuntimeOptionsFactory.create(RuntimeOptionsFactory.java:24)
at cucumber.api.junit.Cucumber.<init>(Cucumber.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
POM.xml
<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>mrunal</groupId>
<artifactId>cucumbertest</artifactId>
<version>1.0</version>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.1</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.0.14</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.0.14</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-testng</artifactId>
<version>1.1.5</version>
</dependency>
</dependencies>
</project>
Mais quand je suis en cours d'exécution avec la version 1.0.14 de la même, je suis en mesure de l'exécuter avec succès. pourquoi est-il si? ne 1.1.6 version a quelques bug?
TIA!!!
pourriez-vous montrer votre
Salut Bala j'ai essayé avec 1.1.5 trop, mais toujours la même erreur.
pourriez-vous essayer d'ajouter
essayez avec
Salut Bala toujours la même erreur, il n'est pas de travail, il est en échec, tout en essayant de créer RuntimeOptions runtimeOptions = runtimeOptionsFactory.create(); pas sûr pourquoi est-elle défaillante. fait ce que vous avez suggéré. toutes les autres pointeurs. je me demande encore pourquoi est-ce de travailler dans le bas de la version 1.0.14
pom.xml
. Est-ce de travailler avec 1.1.5
?Salut Bala j'ai essayé avec 1.1.5 trop, mais toujours la même erreur.
pourriez-vous essayer d'ajouter
cucumber-core
dépendance (j'utilise la version 1.1.5
) et voir si cela fonctionne. J'ai eu des problèmes de ne pas l'inclure, bien que la documentation dit que c'est automatiquement inclus.essayez avec
1.1.5
pour cucumber-java
, cucumber-junit
,Salut Bala toujours la même erreur, il n'est pas de travail, il est en échec, tout en essayant de créer RuntimeOptions runtimeOptions = runtimeOptionsFactory.create(); pas sûr pourquoi est-elle défaillante. fait ce que vous avez suggéré. toutes les autres pointeurs. je me demande encore pourquoi est-ce de travailler dans le bas de la version 1.0.14
OriginalL'auteur Mrunal Gosar | 2014-05-09
Vous devez vous connecter pour publier un commentaire.
L'erreur signifie que
cucumber.runtime.RuntimeOptions
n'a pas de constructeur qui prend unList
comme argument.Depuis toutes les classes font partie du concombre, je soupçonne un bug dans le communiqué. Exécuter
mvn dependency:tree
et de rechercher la sortie decucumber
. Assurez-vous que vous n'avez qu'une seule version de la dépendance.Si votre classe est bonne, essayez une version plus ancienne.
Si cela fonctionne, télécharger les sources de concombre et de les compiler. Ça fonctionne maintenant? Si oui, ouvrir un rapport de bug dire le Concombre projet que la dernière version n'était pas à compiler correctement.
Ce projet devrait être le bon endroit: github.com/cucumber/cucumber-jvm
OriginalL'auteur Aaron Digulla
En terme Simple, Nous avons besoin de même jar version de concombre-core,de concombres, de java,de concombre-junit. Pour surmonter ce problème 🙂
Erreur, nous sommes en train parce que les fichiers jar et de la version correspondante(ne convient pas pour notre JDK). J'ai joué avec le fichier jar - maintenant le problème est résolu. Et aussi en mesure d'exécuter et de générer une sortie.
Ma version du JDK - 1.8.0_60 POTS, junit -4.12 cucumber-java-1.2.2.jar cucumber-junit-1.2.2.jar cucumber-core-1.2.2.jar gherkin-2.12.2.jar cucumber-jvm-deps-1.0.3.jar
Remarque: java,junit,de base doivent être dans la même version. Supprimer les indésirables concombre pots. Debug par installer seulement deux(Java et Junit) les fichiers jar(autre version) et d'essayer de résoudre NoSuchMethod erreur.
Cette réponse œuvres.
OriginalL'auteur Sakthi
Je suis nouveau et encore en apprentissage. J'ai eu une semblable " concombre coureur erreur d'initialisation du message:
Référencé Bibliothèques <= Mes Pots quand j'ai eu une erreur. J'ai remplacé mon cucumber-junit-1.1.5.jar avec cucumber-junit-1.2.2.jar et le message d'erreur est maintenant résolu. Je peux maintenant courir mon concombre de test junit.
J'ai commencé avec la dernière pots mais ils semble avoir des problèmes. Ensuite, j'ai essayé plusieurs combinaison différente. J'ai lu "règle du pouce" (également mentionnée ci-dessus) que les trois pots (pots-core, java et -junit) doivent être de la même version. Seulement ensuite, j'ai été en mesure d'exécuter mes fichiers de fonctionnalité et de tests junit.
Mon travail actuel pots sont:
J'espère que cette aide.
OriginalL'auteur zagoo2000