2016-04-03 103 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