Karate 使用空手道有梯度但没有(Java)-跑步者

Karate 使用空手道有梯度但没有(Java)-跑步者,karate,Karate,我正在尝试使用空手道,因此创建了一个.feature和一个config.properties文件。当然,我不想在每个项目中检查空手道的来源,所以我想使用Gradle下载空手道,然后运行它 不幸的是,我无法使它工作。我的build.gradle文件如下所示: apply plugin: 'java' test { systemProperty "cucumber.options", System.properties.getProperty("cucumber.options")

我正在尝试使用空手道,因此创建了一个
.feature
和一个
config.properties
文件。当然,我不想在每个项目中检查空手道的来源,所以我想使用Gradle下载空手道,然后运行它

不幸的是,我无法使它工作。我的
build.gradle
文件如下所示:

apply plugin: 'java'

test {
    systemProperty "cucumber.options", System.properties.getProperty("cucumber.options")
    systemProperty "karate.env", System.properties.getProperty("karate.env")
    outputs.upToDateWhen { false }
}

sourceSets {
    test {
        resources {
            srcDir file('features')
            include 'rest.feature'
        }
    }
}

dependencies {
  testCompile 'com.intuit.karate:karate-junit4:0.7.0'
  testCompile 'com.intuit.karate:karate-apache:0.7.0'
}

wrapper {
  gradleVersion = 4.6
}
当我运行
/gradlew test-Dtest=
时,
.feature
文件只会被复制到
build/resources/test
,而不是运行套件

你能告诉我如何正确设置它吗?我不想使用带有
@RunWith(Karate.class)
注释的Java类,因为这在每个项目中都是不必要的锅炉板代码

我个人认为您应该使用Java类,因为您获得了的优势-但这只是我的2c

我无论如何都不是Gradle专家,但社区中的这个Gradle示例可能会帮助您找出是否遗漏了任何内容:

它有一些不必要的依赖项,您当然应该忽略它们

编辑:刚刚意识到您希望在没有任何Java运行程序的情况下运行该功能,很抱歉,这在命令行中是不可能的。您可以从IntelliJ和Eclipse“右键单击并运行”(安装了正确的插件,请参阅文档)——这是大多数团队每天都做的事情

如果您做了一些研究,您应该能够编写一个Java类,它可以接受命令行arg或系统属性并运行您指定的功能。同样,Java运行程序要方便得多(输入更少),或者只使用IDE支持