使用 Gradle 但没有 (Java)-Runner 的空手道
Using Karate with Gradle but without (Java)-Runner
我正在尝试使用空手道,因此创建了一个 .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=<featureName>
时,.feature
文件只是被复制到 build/resources/test
而不是 运行 安装套件。
你能告诉我如何正确设置吗?我不想将 Java class 与 @RunWith(Karate.class)
注释一起使用,因为这在每个项目中都是不必要的样板代码。
我个人认为您应该 使用Java class 因为您可以利用dev-mode JUnit report - 但这只是我的 2c .
无论如何我都不是 Gradle 专家,但是来自社区的这个 Gradle 示例可能会帮助您找出是否遗漏了什么:https://github.com/intuit/karate/blob/master/karate-demo/build.gradle
它有一些 un-necessary 依赖项,您当然应该忽略这些依赖项。
编辑:刚刚意识到您期望 运行 没有 any Java 运行 的功能,抱歉,这是不可能的命令行。您可以 "right-click-and-run" 来自 IntelliJ 和 Eclipse(安装正确的插件,参考文档)——这是大多数团队每天都在做的事情。
如果你做了一些研究,你应该能够编写 one Java class 可以接受命令行参数或系统 属性 和 运行 您指定的功能。再次恕我直言,Java 运行ner 更方便(更少打字)或仅使用 IDE 支持。
我正在尝试使用空手道,因此创建了一个 .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=<featureName>
时,.feature
文件只是被复制到 build/resources/test
而不是 运行 安装套件。
你能告诉我如何正确设置吗?我不想将 Java class 与 @RunWith(Karate.class)
注释一起使用,因为这在每个项目中都是不必要的样板代码。
我个人认为您应该 使用Java class 因为您可以利用dev-mode JUnit report - 但这只是我的 2c .
无论如何我都不是 Gradle 专家,但是来自社区的这个 Gradle 示例可能会帮助您找出是否遗漏了什么:https://github.com/intuit/karate/blob/master/karate-demo/build.gradle
它有一些 un-necessary 依赖项,您当然应该忽略这些依赖项。
编辑:刚刚意识到您期望 运行 没有 any Java 运行 的功能,抱歉,这是不可能的命令行。您可以 "right-click-and-run" 来自 IntelliJ 和 Eclipse(安装正确的插件,参考文档)——这是大多数团队每天都在做的事情。
如果你做了一些研究,你应该能够编写 one Java class 可以接受命令行参数或系统 属性 和 运行 您指定的功能。再次恕我直言,Java 运行ner 更方便(更少打字)或仅使用 IDE 支持。