Комментарий во время выполнения / отключение блока кода в Swift - PullRequest
0 голосов
/ 26 мая 2020

Я пишу утилиты в своих тестовых классах. Для удобства я предоставляю утилиты как в расширении, так и в подклассе.

Пример кода, который будет регистрировать сообщение:

extension XCTestCase {
    func log() {
        print("Log from XCTestCase")
    }
}

public class MyXCTestCase: XCTestCase {
    override func log() {
        print("Log from XCTestCase Subclass")
    }
}

public let myXCTestCase = MyXCTestCase()

Это потому, что я разрешаю пользователь, который использует мои утилиты, чтобы выбрать свой вариант. В тестовом примере они могут вызывать метод журнала следующими способами:

log() //Prints "Log from XCTestCase"

myXCTestCase.log() //Prints "Log from XCTestCase Subclass"

Оба работают нормально, и пользователь может выбрать удобный способ.

Теперь я попытался добавить в мой код bool, чтобы включить / отключить их выбор. Вот так:

public let useExtensionsAlone:Bool = true

Я пытаюсь заблокировать / прокомментировать / отключить весь MyXCTestCase, если useExtensionsAlone равно true . Таким же образом, если useExtensionsAlone равно false , я хочу отключить extension XCTestCase.

Возможно ли это со Swift?

PS: Я не хочу добавлять выражение « if-else » внутри каждого метода для проверки useExtensionsAlone стоимость. Причина предоставления этой концепции расширения / класса заключается в том, что из-за огромного количества вспомогательных методов могут возникнуть трудности с поиском желаемого имени метода. Поэтому я тоже сгруппировал методы в классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...