So führen Sie einmaligen Setup-Code aus, bevor Sie XCTest @ ausführ

Ich habe das folgende Problem. Ich möchte einen Code ausführen, bevor alle Testklassen ausgeführt werden. Zum Beispiel: Ich möchte nicht, dass mein Spiel während der Ausführung den SoundEngine-Singleton verwendet, sondern die SilentSoundEngine. Ich möchte die SilentSoundEngine einmalig nicht in allen Tests aktivieren. Alle meine Tests sehen so aus:

class TestBasketExcercise : XCTestCase {        
    override func setUp() {
        SilentSoundEngine.activate () // SoundEngine is a singleton
    }
    // The tests 
}

-Edit- Die meisten Antworten beziehen sich auf die Bereitstellung einer benutzerdefinierten Superklasse für den Testfall. Ich suche nach einer allgemeineren und saubereren Möglichkeit, die Umgebung bereitzustellen, die alle Tests ausführen müssen. Gibt es nicht irgendwo eine "Haupt" -Funktion / Appdelegate-ähnliche Funktion für Tests?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage