Установка тегов на уровне класса или контейнера - PullRequest
1 голос
/ 06 апреля 2020

Используя .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 для каждого теста?

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Вы не можете делать в точности то, что хотите, начиная с Kotest 4.0.4, но вы можете установить теги на уровне Spe c, которые затем применяются ко всем тестам в этом Spe c.

Например ,

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...    
  }
})

Это может дать вам обходной путь.

0 голосов
/ 25 апреля 2020

На данный момент вы не можете добавить конфигурацию на уровне контейнера. Я создал проблему для этого https://github.com/kotest/kotest/issues/1410#issuecomment -619438772

...