1

使用.config我们可以按这里解释的标签对测试进行分组:链接 示例:

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

据我所知,无法在更高级别设置标签,例如以下内容无法编译:

class MyTest : FreeSpec({
 "high level container with multiple tests".config(tags = setOf(Windows)) - {
    "test 1 of many for Windows" {
      // ...
    }

    "test 2 of many for Windows" {
      // ...
    }

    // more tests...    
  }
})

如何在类和/或容器级别对测试进行分组,而无需.config对每个测试都重复进行?

4

2 回答 2

1

截至目前,您无法在容器级别添加配置。我为此创建了一个问题https://github.com/kotest/kotest/issues/1410#issuecomment-619438772

于 2020-04-25T20:56:30.850 回答
1

从 Kotest 4.0.4 开始,您无法完全按照您的意愿行事,但您可以在 Spec 级别设置标签,然后将其应用于该 Spec 中的所有测试。

例如,

class MyTest : FreeSpec({

  tags(Windows)

 "high level container with multiple tests" - {
    "test 1 of many for Windows" {
      // ...
    }

    "test 2 of many for Windows" {
      // ...
    }

    // more tests...    
  }
})

这可能会给你一个解决方法。

于 2020-04-25T21:00:18.053 回答