【问题标题】:Karate runner class example for executing project with mvn test -Dcucumber.options="--tags @golden"使用 mvn test -Dcucumber.options="--tags @golden" 执行项目的空手道跑步者类示例
【发布时间】:2020-04-29 17:48:06
【问题描述】:

我的 Runner 类在下面,当我执行 mvn test -Dcucumber.options="--tags @golden" 命令时,我没有看到我的黄金场景正在运行!

package apiTest;

import static org.junit.Assert.assertTrue;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.junit.Test;

import com.intuit.karate.KarateOptions;
import com.intuit.karate.Results;
import com.intuit.karate.Runner;

import io.cucumber.junit.CucumberOptions;
import net.masterthought.cucumber.Configuration;
import net.masterthought.cucumber.ReportBuilder;


@KarateOptions(tags = {"~@ignore"})
@CucumberOptions(
        features = {"src/test/java/featureFiles"},
        plugin = { "pretty", "html:target/cucumber-reports"}, 
        monochrome = true)

public class RunnerTest {

    @Test
    public void testParallel() {
        Results results = Runner.parallel(getClass(), 10, "target/surefire-reports");
        generateReport(results.getReportDir());
        assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
    }

    public static void generateReport(String karateOutputPath) {
        Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] { "json" }, true);
        List<String> jsonPaths = new ArrayList<String>(jsonFiles.size());
        jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
        Configuration config = new Configuration(new File("target"), "API Tests");
        ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
        reportBuilder.generateReports();
    }
}

有跑步者类的例子吗?我正在使用junit4!

【问题讨论】:

    标签: karate


    【解决方案1】:

    下面的代码终于成功了,感谢 Peter 使用 0.9.6.RC2,命令行是 mvn test -Dkarate.options="--tags @golden"

    package apiTest;
    
    import static org.junit.Assert.assertTrue;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;
    
    import org.apache.commons.io.FileUtils;
    import org.junit.Test;
    
    import com.intuit.karate.KarateOptions;
    import com.intuit.karate.Results;
    import com.intuit.karate.Runner;
    
    import net.masterthought.cucumber.Configuration;
    import net.masterthought.cucumber.ReportBuilder;
    
    
    @KarateOptions(features="classpath:featureFiles", tags="~@ignore")
    
    public class RunnerTest {
    
        @Test
        public void testParallel() {
            Results results = Runner.parallel(getClass(), 2);
            generateReport(results.getReportDir());
            assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
        }
    
        public static void generateReport(String karateOutputPath) {
            Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] { "json" }, true);
            List<String> jsonPaths = new ArrayList<String>(jsonFiles.size());
            jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
            Configuration config = new Configuration(new File("target"), "API Tests");
            ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
            reportBuilder.generateReports();
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可能遇到过这个问题:https://github.com/intuit/karate/issues/1061

      你可以试试 0.9.6.RC2 版本吗?

      【讨论】:

      • 嘿,彼得,我已经发布了更新课程的详细信息,非常感谢它的工作。似乎空手道不会依赖黄瓜选项吧?
      • @SandeepPadala 很棒。是的,从现在开始使用karate.options
      猜你喜欢
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 2018-08-01
      • 1970-01-01
      相关资源
      最近更新 更多