Как вызвать глобальную настройку для всех тестов в пакете swift? - PullRequest
0 голосов
/ 05 мая 2018

Имея пакет swift, я хочу выполнить глобальную настройку (в основном, настроить ведение журнала для всех тестов) перед началом тестов. Удивительно, но это просто в Linux, где код можно добавить в allTests

public func allTests() -> [XCTestCaseEntry] {
    Log.logger = HeliumLogger(.debug)
    return [
        testCase(MyTests.allTests),
        // ...
    ]

но я понятия не имею, как это сделать в macOS. Любые советы приветствуются.

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете создать подкласс XCTest и переопределить setUp, который вызывается перед выполнением тестов, следующим образом:

import XCTest
import LoggerAPI
import HeliumLogger

class LoggingTestCase: XCTestCase {

    override class func setUp() {
        Log.logger = HeliumLogger(.debug)
    }
}

Затем вы можете заставить свои тестовые классы наследоваться от LoggingTestCase вместо XCTestCase.

Это должно работать как в MacOS, так и в Linux.

...