Klasse Foo ist in MyApp und MyAppTestCase implementiert. Einer der beiden wird verwendet. Welches ist undefiniert

Neulich habe ich angefangen Sie Komponententests für meine Anwendung. Dieses Projekt (in Xcode4) erstellt wurde, ohne ein unit test bundle so hatte ich es eingerichtet.
Ich folgte den Schritten hier: http://cocoawithlove.com/2009/12/sample-mac-application-with-complete.html
Und Es hat funktioniert gut für einfache Klassen, aber jetzt versuche ich zum testen einer Klasse, die von einem anderen abhängt, und dass auf einer anderen, etc.

Zuerst bekam ich einen linker-Fehler, so dass ich Hinzugefügt *.m Dateien in den test-Fall-Ziel, aber jetzt bekomme ich eine Warnung für jede Klasse, die ich bin versucht zu testen:

Foo-Klasse implementiert ist, in beiden MyApp
und MyAppTestCase. Einer der beiden wird
verwendet werden. Die eine ist nicht definiert.

Frage ich mich, warum ist das so? Wie kann ich dieses Problem lösen? Vielleicht habe ich etwas verpasst bei der Einstellung der unit-test-target?

Bearbeiten - Die Lösung

  • Set "Bundle Loader" richtig zu $(BUILT_PRODUCTS_DIR)/AppName.app/AppName
  • Set "- Symbole Standardmäßig Ausgeblendet" KEINE (in Build-Einstellungen der Ziel-Anwendung). Dies ist, wo der linker-Fehler kommen daher, weil es JA standardmäßig!. Ich habe gekämpft, mit diesem für so lange!.

Quelle: Linking-Fehler für die unit Tests mit XCode 4?

InformationsquelleAutor der Frage nacho4d | 2011-05-27

Schreibe einen Kommentar