iPhone - Ressourcen für logische Einheitentests abrufen

Ich habe die Dokumentation von Apple zum Schreiben von Einheitentests für das iPhone befolgt, und die Routine scheint nicht sofort zu funktionieren. Ich bin nicht sicher, ob ich verstehe, wo der Komponententest den Verweis auf den Anwendungsdelegierten erhalten wird.

Meine Abhängigkeiten sind wie folgt: My_Program_target -> UnitTesting_target -> UnitTests_bundle

Im folgenden Code-Snippet schlägt die Bestätigung fehl. Ich kenne CPPUNIT sehr gut, aber ich habe Probleme zu verstehen, wie dies passiert.

- (void) testAppDelegate {

    id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
    STAssertNotNil(yourApplicationDelegate, @"UIAppliation failed to find the AppDelegate");

}

Zusätzlich:

Ich habe mich für einen Logiktest entschieden. Ich versuche, eine XML-Datei einzulesen, aber ich habe kein Glück, das Bundle aufzulösen, das mir den Pfad liefert, über den ich auf meine Datei zugreifen kann. Ich habe versucht, den von allBundles ausgegebenen Pfad einzufügen, aber dieser Pfad scheint auch nicht zu funktionieren. Im Folgenden sehen Sie, was ich in meinem Test ausführe (Sie können die Debug-Anweisung sehen, die ich verwende, um die Pfade der Bundles auszugeben):

NSLog(@"BundlePaths: %@", [NSBundle allBundles]);
   NSString * path = [[NSBundle bundleWithPath:@"$(TARGET_BUILD_DIR)"] pathForResource:@"SimpleTestList" ofType:@"plist"];
   STAssertNotNil(path, @"Bundle Location couldn't find the file specified");

Im Wesentlichen ist das Aktivieren des Pfads nicht erfolgreich, aber ich bin nicht sicher, was für den Pfad oder das Verzeichnis angegeben werden soll, um auf mein unitTest-Bundle zu verweisen, das ich zum Kopieren der Bundle-Ressourcen angewiesen habe. Das Aufrufen von [NSBundle mainBundle] funktioniert ebenfalls nicht.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage