【问题标题】:Test Suite in kotestkotest 中的测试套件
【发布时间】:2022-08-11 03:39:07
【问题描述】:

我不知道我是否遗漏了一些东西,但我找不到任何说明如何像在 JUnit 中那样做一个测试套件的东西。有人能帮我吗?我看到文档提供了分组测试,但是当我从 Gradle 运行时,日志真的很大,而且不是很有用

标签: kotlin testing kotest


【解决方案1】:

您可以使用标签对测试进行分组,请参阅https://kotest.io/docs/framework/tags.html

例如,要按操作系统对测试进行分组,您可以定义以下标签:

object Linux : Tag()
object Windows: Tag()

然后可以使用 config 函数用标签标记测试用例:

import io.kotest.specs.StringSpec

class MyTest : StringSpec() {
  init {
    "should run on Windows".config(tags = setOf(Windows)) {
      // ...
    }

    "should run on Linux".config(tags = setOf(Linux)) {
      // ...
    }

    "should run on Windows and Linux".config(tags = setOf(Windows, Linux)) {
      // ...
    }
  }
}

然后你可以告诉 Gradle 只运行带有特定标签的测试,见https://kotest.io/docs/framework/tags.html#running-with-tags

示例:要仅运行带有 Linux 标记的测试,而不是带有数据库标记的测试,您可以像这样调用 Gradle:

gradle test -Dkotest.tags="Linux & !Database"

标签也可以通过RuntimeTagExtension 包含/排除在运行时(例如,如果您正在运行项目配置而不是属性):

RuntimeTagExpressionExtension.expression = "Linux & !Database"

【讨论】:

    猜你喜欢
    • 2023-02-05
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 2014-06-22
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多