Как вызвать глобальную настройку для всех тестов в пакете swift?
Имея пакет swift, я хочу выполнить глобальную настройку (в основном настроить ведение журнала для всех тестов) перед началом тестов. Удивительно, но это легко в Linux, где код может быть добавлен в allTests
public func allTests() -> [XCTestCaseEntry] {
Log.logger = HeliumLogger(.debug)
return [
testCase(MyTests.allTests),
// ...
]
но я понятия не имею, как это сделать на macOS. Любые намеки приветствуются.
1 ответ
Вы могли бы подкласс XCTest
и переопределить setUp
, который вызывается перед выполнением тестов, следующим образом:
import XCTest
import LoggerAPI
import HeliumLogger
class LoggingTestCase: XCTestCase {
override class func setUp() {
Log.logger = HeliumLogger(.debug)
}
}
Затем вы можете заставить свои тестовые классы наследовать от LoggingTestCase
вместо XCTestCase
,
Это должно работать как на MacOS, так и на Linux.