Создание подкласса XCTestCase несколько раз в тестовом прогоне - PullRequest
1 голос
/ 28 апреля 2020

У меня есть XCTestCase подкласс EndpointIntegrationTests, который содержит интеграционные тесты, которые применяют конечные точки клиентского приложения к бэкэнду.

У нас есть ряд тестовых сред. Они совместно используют одни и те же базы данных, поэтому тесты в EndpointIntegrationTests должны одинаково хорошо работать на всех бэкэндах.

Я хотел бы иметь возможность создавать несколько экземпляров EndpointIntegrationTests в тестовом прогоне, инициализируя каждый (или конфигурируемый после инициализации) с указанным c бэкэндом, который он должен проверить. Затем я бы создал экземпляр пакета один раз для каждого бэкэнда, чтобы все тесты выполнялись для всех бэкэндов. Возможно, примерно так ...

func addTestCaseInstances() {
  for environment in ["SIT01", "SIT02", "NFT"] {
    let testCase = EndpointIntegrationTests(environment: environment)
    addTestCaseInstance(testCase)
  }
}

Есть ли механизм в XCTest, позволяющий это сделать? Я только когда-либо видел, чтобы подклассы XCTestCase автоматически создавались тестовым жгутом. Жгут проводов создает каждый подкласс только один раз.

Спасибо.

...