当前位置: 首页 > 知识库问答 >
问题:

无法在Gradle上运行cucumber JUnit测试

吴俊晤
2023-03-14

我正在尝试使用IntelliJ Community edition和Gradle5.5.1运行一个Cucumber/Selenium项目。

ProjectRoot
|
src---main---java
|
src---test---java---packagename---stepdefinitions---Steps.java
        |
        -----resources---feature---application.feature

我的TestRunner类如下:

@RunWith(Cucumber.class)
@CucumberOptions(
        plugin = {"pretty", "json:cucumber-report.json"},
        features = {"src/test/resources/feature"})
public class TestRunner {
}
Testing started at 18:48 ...
> Task :cleanTest
> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :compileTestJava
> Task :processTestResources UP-TO-DATE
> Task :testClasses
> Task :test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> No tests found for given includes: [org.fifthgen.scanmaltatesting.TestRunner](filter.includeTestsMatching)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
5 actionable tasks: 3 executed, 2 up-to-date
plugins {
    id 'java'
}

group 'org.fifthgen'
version '1'

sourceCompatibility = 11
targetCompatibility = 11

repositories {
    mavenCentral()
}

wrapper.gradleVersion = '5.5.1'

def cucumberVersion = '4.7.2'
def junitVersion = '5.5.2'

dependencies {
    implementation 'org.seleniumhq.selenium:selenium-java:3.141.59'

    testImplementation "io.cucumber:cucumber-java:${cucumberVersion}"
    testImplementation "io.cucumber:cucumber-junit:${cucumberVersion}"

    testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
}

test {
    useJUnitPlatform()
    scanForTestClasses = false
}
BUILD SUCCESSFUL in 0s
4 actionable tasks: 1 executed, 3 up-to-date
18:52:41: Task execution finished 'test'.

共有1个答案

司空宗清
2023-03-14

rrunwith Pris是一种JUnit4机制。为了与JUnit5平台机制一起使用,您必须包含对junit-vintage引擎的依赖,它允许在JUnit5上运行JUnit4测试。

或者,您可以更改为JUnit5的Cucumber引擎。我不确定它是否已经发布了。

 类似资料:
  • 问题内容: 我已经配置了一个jenkins ubuntu奴隶,我想在它上运行我的gradle构建(与gradle插件)。问题是,当运行詹金斯构建工作时,我得到: 在从属服务器(相同用户)的命令行上运行相同的gradle命令时,它将成功运行。 问题答案: 找到了解决方法!我已经开始使用gradle包装器来运行gradle构建。我做了两件事: 按照本页上的说明创建gradlew(和其他文件)并在我的存

  • 我的笔记本电脑上有一个java项目,我正在用Gradle构建它。所有依赖项都在文件系统中,因为我在处理它时大部分时间都是脱机的。反正也不算太多。 查看checkstyle-6.10.1.jar内部,我可以看到没有这样的类,而是有一个叫做的类,我怀疑这是gradle应该调用的类。然而,我不知道如何让gradle调用它。 我唯一的一个怀疑是我的没有正确定义,并且gradle使用某些默认值调用。然而,所

  • 我有一些Selenium Webdriver测试,希望使用mvn-test从命令行运行。问题是,我可以清理,构建和编译没有问题,但没有测试运行。我没有收到任何与测试有关消息,如“There are no tests to run”。 我的junit测试遵循*Test类命名约定。 编辑:好的,我发现这是一个配置文件的问题-修复!

  • 我有一个有三种不同构建类型的项目:debug、beta和Release。我的测试包总是为调试构建而创建的,但是QA使用的是beta构建,我们希望QA在他们大量的设备上运行这些测试。 我试图为QA创建一个测试apk,该apk由与beta构建相同的密钥签名。翻阅Android-Gradle文档,我没有看到任何东西告诉我不能这样做,但我没有看到任何配置它的东西。我是否可以配置在组装测试APK时使用的密钥

  • 在我的Gradle项目中,我有一个非常简单的JUnit测试: 当我在IntelliJ中运行测试时,我会得到一个任务列表,其中包含构建成功的消息。例如: 这不应该发生,因为我期待测试失败。我还得到一条消息“测试事件没有收到”。 编辑:添加了项目结构的截图。

  • 在我的多项目中,我正在根项目上运行测试任务,并期望它将在子项目上运行测试任务并生成一个测试报告。我观察到的是,它从来没有在子项目上运行测试任务。我的期望是不正确的吗?“我需要在我的gradle脚本中进行任何特殊配置吗? 请注意,我的根项目中没有测试。