У меня есть XCTestCase
подкласс EndpointIntegrationTests
, который содержит интеграционные тесты, которые применяют конечные точки клиентского приложения к бэкэнду.
У нас есть ряд тестовых сред. Они совместно используют одни и те же базы данных, поэтому тесты в EndpointIntegrationTests
должны одинаково хорошо работать на всех бэкэндах.
Я хотел бы иметь возможность создавать несколько экземпляров EndpointIntegrationTests
в тестовом прогоне, инициализируя каждый (или конфигурируемый после инициализации) с указанным c бэкэндом, который он должен проверить. Затем я бы создал экземпляр пакета один раз для каждого бэкэнда, чтобы все тесты выполнялись для всех бэкэндов. Возможно, примерно так ...
func addTestCaseInstances() {
for environment in ["SIT01", "SIT02", "NFT"] {
let testCase = EndpointIntegrationTests(environment: environment)
addTestCaseInstance(testCase)
}
}
Есть ли механизм в XCTest, позволяющий это сделать? Я только когда-либо видел, чтобы подклассы XCTestCase
автоматически создавались тестовым жгутом. Жгут проводов создает каждый подкласс только один раз.
Спасибо.