我正在尝试使用新的Cucumber-jvm系统和Gradle作为我的构建系统.
我在GitHub cucumber-jvm项目(https://github.com/cucumber/cucumber-jvm)中使用了示例Java代码.
我的项目在IntelliJ中设置,IDE可以运行测试.
但是,Gradle没有找到任何要运行的测试.我知道这是因为我打破了测试而Gradle什么也没说.它在工作时也没有说什么.
它试图运行的类看起来像这样:
import cucumber.junit.Cucumber;
import cucumber.junit.Feature;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@Feature(value = "CarMaintenance.feature")
public class FuelCarTest {
}
Run Code Online (Sandbox Code Playgroud)
我是黄瓜和Gradle的新手!
小智 5
我记得在使用 junit runner 时遇到了 Gradle 和 Cucumber 的问题。我最终放弃并使用命令行运行程序创建了一个 gradle 任务。
task executeFeatures(type: JavaExec, dependsOn: testClasses) {
main = "cucumber.cli.Main"
classpath += files(sourceSets.test.runtimeClasspath, file(webAppDir.path + '/WEB-INF/classes'))
args += [ '-f', 'html:build/reports/cucumber', '-g', 'uk.co.filmtrader', 'src/test/resources/features']
}
Run Code Online (Sandbox Code Playgroud)
-f 用于 html 报告输出的文件夹
-g 胶水/步骤代码的包名
src/test/resources/features 特征文件在哪里
具有以下依赖项
testCompile 'org.mockito:mockito-all:1.9.5',
'junit:junit:4.11',
'org.hamcrest:hamcrest-library:1.3',
'info.cukes:cucumber-java:1.0.14',
'info.cukes:cucumber-junit:1.0.14',
'info.cukes:cucumber-spring:1.0.14'
Run Code Online (Sandbox Code Playgroud)
4.2.5 版更新
随着时间的推移发生了一些小的变化:
cucumber.api.cli.Main-f似乎不再起作用并导致错误所以我最终在我的任务中定义了以下任务build.gradle:
task executeFeatures(type: JavaExec, dependsOn: testClasses) {
main = "cucumber.api.cli.Main"
classpath += files(sourceSets.test.runtimeClasspath)
args += [ '-g', 'uk.co.filmtrader', 'src/test/resources/features']
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6753 次 |
| 最近记录: |