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

如何与Kotlintest和Gradle进行分层测试报告

虞航
2023-03-14

我正在尝试使用Gradle从Kotlintest获取分层测试报告。我看过一些截图,但是我运气不好。对于任何类型的测试(FunSpec、WordSpec、BehaviorSpec等),我总是只看到类名,然后是“叶”测试。

  • Gradle 5.6.2
  • Kotlintest 3.4.2
  • JUnit平台1.5.2

样本测试类

import io.kotlintest.matchers.string.shouldStartWith
import io.kotlintest.specs.FunSpec

class HierarchicalTest : FunSpec({
    context("Here is a context 1") {
        test("Test 1") {
            "abc".shouldStartWith("a")
        }
    }

    context("Here is a context 2") {
        test("Test 2") {
            "abc".shouldStartWith("b")
        }
    }
})

建筑格拉德尔

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.3.41'
}

sourceCompatibility = 1.8

repositories {
    jcenter()
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    testImplementation 'ch.qos.logback:logback-classic:1.2.3'
    testImplementation 'io.kotlintest:kotlintest-runner-junit5:3.4.2'
    testImplementation 'org.junit.platform:junit-platform-engine:1.5.2'
}

test {
    useJUnitPlatform()
}

IntelliJ结果

格雷德尔报告

我需要做什么才能在报告中显示上下文级别?

共有1个答案

司寇旺
2023-03-14

我正在使用Idea 2018.3.2,我用你们的资料重新创建了这个项目,对我来说,它很有效。我猜这种行为与你运行测试的方式有关。因为我通过Idea运行测试,它是测试的绿色箭头。

我猜你是通过gradle任务进行测试的吧?如果是这样,Idea可以以不同的方式显示结果,这就是我通过Idea中的gradle插件运行gradle测试任务时的样子

 类似资料:
  • kotlintest测试从Intellij启动时运行得非常好,但当我尝试使用gradle test task命令运行它们时,只会找到并运行我的常规JUnit测试。 kotlintest代码: build.gradle:

  • 如何在使用JUnit5的同时使用Gradle Kotlin DSL运行kotlintest测试? 我尝试了什么? 如何使用Gradle运行kotlintest测试?本质上是这个问题的旧版本,但由于使用了不同的技术:JUnit4和Gradle而不是Gradle Kotlin DSL已经过时。我能找到的所有其他问题要么是针对JUnit4,要么是针对没有Kotlintest的JUnit5。 PS在Git

  • 我正在尝试使用Junit并行运行cucumber特性文件,如官方文档中所述[https://cucumber.io/docs/guides/parallel-execution/#junit],但在我的项目中,我使用Gradle而不是Maven,不知道如何实现这一部分:

  • 简介 在之前的章节我们实现了一个简单但是功能齐全的web项目、学习了如何使用Gradle来构建和运行这个项目。测试代码是软件开发周期中非常重要的一环,能够确保软件的行为能符合预期。这一章我将讲述如何使用Gradle来组织、配置和执行测试代码,学习如何写单元测试、集成测试和功能测试并把他们集成到项目构建中。 Gradle集成了很多Java和Groovy测试框架,在本章的最后你会用JUnit、Test

  • 我有一个混合的Java/Scala项目,包含JUnit和ScalaTest测试。使用scalatest插件,Gradle在中运行scalatest测试,但忽略中的JUnit测试。没有插件,Gradle运行JUnit测试,但忽略Scala。我错过了什么把戏? 我的: ETA:我知道有可能对Scala测试进行注释,以迫使它们与JUnit测试运行器一起运行。我正在寻找一个一站式的解决方案,它不需要编辑每

  • 我有一个使用Gradle的Spring启动项目设置。我有一个文件,它描述了用于名为'dev'和'prod'的两个环境的设置。 在调用Gradle bootRun任务时,我可以使用中的以下代码将默认环境设置为'dev': 我是否可以假设tomcat会选择'prod'配置,因为如果我不重写它,这似乎是默认行为? 请指教。