我是目前在一家大公司工作的实习生,在我的测试自动化项目(github)中,同一项目中有两个不同团队进行的两个测试,因此有两个Cucumber JUnit文件。我不知道如何分别运行这两个程序,所以我进行搜索,而我目前的操作方式是将它们分成两个Gradle任务。

task ivtTest() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'html:cucumber.html', '--plugin', 'pretty','--plugin', 'json:cucumber.json', '--glue', '<glue location>', '<feature file location>']
        }
    }
}
task svtTest() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'html:cucumber.html', '--plugin', 'pretty','--plugin', 'json:cucumber.json', '--glue', '<glue location>', '<feature file location>']
        }
    }
}

现在,我需要将此与Jenkins集成。我在这里阅读文档:Continuos Build - Cucumber。它的方式是:
node {
    stage('Generate HTML report') {
        cucumber buildStatus: 'UNSTABLE',
                fileIncludePattern: '**/*.json',
                trendsLimit: 10,
                classifications: [
                    [
                        'key': 'Browser',
                        'value': 'Firefox'
                    ]
                ]
    }
}

我猜它运行JUnit文件吗?它没有显示使用Gradle任务的方法。由于我有两个JUnit,它将同时运行两个JUnit吗?有没有办法使用Gradle任务?如果这是一个愚蠢的问题,对不起。我还是所有这一切的新手。我不在我的大学学习。

最佳答案

您可以使用以下类似方法在管道中运行Gradle任务:

stages {
    stage('Gradle tasks') {
        steps {
            sh 'bash ./gradlew ivtTest'
            sh 'bash ./gradlew svtTest'
        }
    }
    stage('Generate HTML report') {
        cucumber buildStatus: 'UNSTABLE',
                fileIncludePattern: '**/*.json',
                trendsLimit: 10,
                classifications: [
                    [
                        'key': 'Browser',
                        'value': 'Firefox'
                    ]
                ]
    }
}

这是如果Jenkins在Linux服务器上运行,如果它在Windows服务器上运行,则将sh替换为bat

关于java - 使用Gradle任务将Cucumber与Jenkins集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53492280/

10-14 08:04