2016-04-03 13 views
0

Ich verwende eine Gurke reporting api für eine bessere Berichterstattung. Mein Projekt ist kein Maven-Projekt und kann die Projektstruktur nicht ändern. Also füge ich alle Abhängigkeiten zu meinem Projekt hinzu, aber es wird immer noch Fehler wie "java.lang.IllegalArgumentException: Datei 'target/gurke.json' enthält keine Features!"Cucumber Reporting bekommen Fehler

Alle hinzugefügten Gläser und die unten gezeigte Version.

enter image description here

Ich habe auch hier mein runner-Klasse, die für die Fehlersuche helfen können.

import java.io.File; 
import java.util.ArrayList; 
import java.util.List; 
import org.junit.AfterClass; 
import org.junit.runner.RunWith; 
import cucumber.api.CucumberOptions; 
import cucumber.api.SnippetType; 
import cucumber.api.junit.Cucumber; 
import net.masterthought.cucumber.Configuration; 
import net.masterthought.cucumber.ReportBuilder; 
@RunWith(Cucumber.class) 

@CucumberOptions(
     plugin = { 
       "html:target/cucumber-html-report", 
       "json:target/cucumber.json" 
     },features ={"./sample.feature"}, 
      glue ={"com/automation/steps"},strict = true, 
      dryRun= false,monochrome = true, snippets= SnippetType.CAMELCASE) 
/*public class Runner extends AbstractTestNGCucumberTests{ 
}*/ 
public class Runner { 
    @AfterClass 
    public static void generateReport(){ 
     File reportOutputDirectory = new File("target"); 
     List<String> jsonFiles = new ArrayList<>(); 
     jsonFiles.add("target/cucumber.json"); 

     String jenkinsBasePath = ""; 
     String buildNumber = "1"; 
     String projectName = "cucumber-jvm"; 
     boolean skippedFails = true; 
     boolean pendingFails = false; 
     boolean undefinedFails = true; 
     boolean missingFails = true; 
     boolean runWithJenkins = false; 
     boolean parallelTesting = false; 

     Configuration configuration = new Configuration(reportOutputDirectory, projectName); 
     // optionally only if you need 
     configuration.setStatusFlags(skippedFails, pendingFails, undefinedFails, missingFails); 
     configuration.setParallelTesting(parallelTesting); 
     configuration.setJenkinsBasePath(jenkinsBasePath); 
     configuration.setRunWithJenkins(runWithJenkins); 
     configuration.setBuildNumber(buildNumber); 

     ReportBuilder reportBuilder = new ReportBuilder(jsonFiles, configuration); 
     reportBuilder.generateReports(); 
    } 
} 

Ich habe auch die Projektstruktur Bild beigefügt.

Ich beobachtete, dass feature-overview.html unter der Ordnerstruktur generiert wurde, aber es wurde beschädigt, als ich diese Datei öffnete, wurde dieser Fehler in dieser Datei angezeigt.

enter image description here Kann mir bitte jemand bei diesem Fehler helfen?

Antwort

0

Ihr cukes Läufer ist nicht in der Lage Pfad zu identifizieren Datei zu verfügen ..

Versuchen vollständigen Pfad der Feature-Datei in Funktion option..like src/test/java/sample.feature

+0

@ Sunder geben Danke für deinen Kommentar. Aber JSON-Datei erstellt ordnungsgemäß und auch Standard-Gurken-HTML-Bericht generiert. Meine Feature-Datei war nicht in src es war direkt unter dem Projektordner. – saba

+0

Ihre HTML-Datei und JSON-Datei wird für den Bericht erstellen .. Es spielt keine Rolle. Sie müssen den richtigen Pfad zur Feature-Datei geben –

+0

Ich habe versucht, wie Sie erwähnt, aber es immer noch Fehler wie "java.lang.IllegalArgumentException: Keine Datei oder kein Verzeichnis: G: \ ... \ CucumberTest \ src \ test \ java \ sample.feature ". Fehler beim JUnit-Bericht. – saba