5

Ich benutze Cucumber-JVM und Selenium WebDriver zusammen. Ich habe ein Maven-Projekt in Eclipse und die Abhängigkeit von pom.xml-Datei ist wie folgt:Neueste Version von Gurke-Java und Gurke-Junit funktioniert nicht

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

Der Inhalt RunCukesTest.java Datei ist:

import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 
@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber-htmlreport","json-pretty:target/cucumber-report.json"}) 
public class RunCukesTest { 
} 

Ich erhalte den Fehler in den folgenden Zeilen Code:

import cucumber.junit.Cucumber; 
@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber-htmlreport","json-pretty:target/cucumber-report.json"}) 

Aber wenn ich die Version 1.0.14 verwendete, funktioniert es gut. Was ist los mit der neuesten Version?

Und ich denke, json-pretty zu json in dieser Gurke Version geändert hat:

+0

Welche Fehlermeldung haben Sie? – Paizo

+0

Der Import gurk.junit kann nicht für "import gurke.junit.Cucumber;" und mehrere Markierungen an dieser Linie \t - Gurke kann nicht zu einem Typ \t aufgelöst werden - Klasse kann nicht für die nächsten 2 Zeilen Code –

Antwort

5

hat Die Anmerkung zu @CucumberOptions geändert.

sollte diese Arbeit:

@CucumberOptions(
     format = {"pretty", "html:target/cucumber-htmlreport","json:target/cucumber-report.json"} 
) 

Darüber hinaus sind nach cucumber-jvm specifications Format ist veraltet. Sie sollten durch plugin ersetzen. Dies sollte auch arbeiten:

plugin = {"pretty", "html:target/cucumber-htmlreport","json:target/cucumber-report.json"} 

Hoffe, dass es

8

@Cucumber.Options ist deprecated Verwendung @CucumberOptions statt

@CucumberOptions(
    format = "pretty", 
    features = "//refer to Feature file" 
) 

Hoffnung hilft, dies hilft Ihnen

3

mit Gurke 1.2.2

<cucumber.version>1.2.2</cucumber.version> 
.... 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-java</artifactId> 
     <version>${cucumber.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-junit</artifactId> 
     <version>${cucumber.version}</version> 
     <scope>test</scope> 
    </dependency> 
.... 

hier eine Probe Arbeitstest:

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

@RunWith(Cucumber.class) 
@CucumberOptions(features = "classpath:features/myfeature.feature", tags = "@Mytag", plugin = {"pretty", "html:target/cucumber"}) 
public class MYAcceptanceTest { 

} 

Anmerkung der Import cucumber.api.junit.Cucumber statt cucumber.junit.Cucumber ist, und Sie müssen den Import für die Gurke Optionen hinzuzufügen. Das Stereotyp für die Option ist @CucumberOptions anstelle von @Cucumber.Options

1

Sie können versuchen, beide RunCukesTest.java-Datei und Ihre Feature-Datei in demselben Ordner oder Paket zu setzen.

1

ersetzen @ Cucumber.Options mit @CucumberOptions und Format mit Plugin

@CucumberOptions(plugin = {"pretty", "html:target/cucumber-htmlreport","json-pretty:target/cucumber-report.json"}) 
public class RunCukesTest { 
} 
+0

gelöst werden Andere Antworten beschreiben bereits diese genau die gleichen Schritte. – Pyves

1

Gurke Version jetzt auf Version 2.0.1 aktualisiert. ersetzen

<groupId>info.cukes</groupId> 

mit

<groupId>io.cucumber</groupId> 
Verwandte Themen