2016-04-03 105 views
0

我正在使用黄瓜reporting api以获得更好的报告。我的项目不是maven项目,现在不能改变项目结构。所以我添加了所有对我的项目的依赖,但现在它仍然出现错误,如“java.lang.IllegalArgumentException:文件'target/cucumber.json'不包含特征!”黄瓜报告获取错误

所有添加的罐子和版本显示如下。

enter image description here

我还添加了我的亚军类在这里可以帮助调试。

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(); 
    } 
} 

我还附上了项目结构图。 enter image description here

我注意到feature-overview.html是在文件夹结构下生成的,但是当我打开这个文件时它已经损坏,它在这个文件上显示这个错误。

enter image description here 任何人都可以帮助我解决这个错误吗?

回答

0

你cukes亚军是不能够识别路径功能文件..

试着让你的特性文件的完整路径功能option..like的src /测试/ JAVA/sample.feature

+0

@破甲感谢您的评论。但json文件正在创建,也默认黄瓜html报告生成。我的功能文件不在src它是直接在项目文件夹下。 – saba

+0

你的HTML文件和json文件将创建报告..它并不重要..你需要给正确的路径功能文件 –

+0

我试过这个,因为你提到,但它仍然出现像“java.lang.IllegalArgumentException:不是文件或目录:G:\ ... \ CucumberTest \ src \ test \ java \ sample.feature“。显示在JUnit报告上的错误。 – saba