ПРИМЕЧАНИЕ: «Использовать GHUnit» не является приемлемым ответом на этот вопрос. Я знаю, что большинство думает, что GHUnit лучше, чем Xcode4 OCUnit, но я спрашиваю не об этом. Я оцениваю это отдельно.
У меня есть проект Xcode, который я создал в Xcode4 с нуля, с флажком «Включить модульные тесты», установленным во время создания. Я также включил некоторые библиотеки, разработанные мной в предыдущем проекте. Они были добавлены в проект через диалоговое окно «Добавить файлы в x ...» и добавлены только в цель приложения (а не в цель тестирования). Они нормально работают при запуске приложения, поэтому я считаю, что они настроены правильно. У меня также есть несколько различных классов, написанных для этого проекта.
Мои тестовые файлы настроены стандартным образом и называются [AppName] Tests.h и .m.
Код для заголовка: #import < SenTestingKit/SenTestingKit.h >
@interface [AppName]Tests : SenTestCase {
@private
}
@end
Код для реализации: #import "[AppName]Tests.h"
@implementation [AppName]Tests
- (void)setUp
{
[super setUp];
// Set-up code here.
}
- (void)tearDown
{
// Tear-down code here.
[super tearDown];
}
// Test methods go here
@end
Это всего лишь базовый скелет. Он отлично работает в моем другом проекте, и в этом проекте, если я не импортирую другие файлы. Когда я импортирую другой файл из этого проекта и использую его, я вижу следующую ошибку в журнале вывода Xcode: The test bundle at /Users/[Me]/Library/Developer/Xcode/DerivedData/[AppName]-dwuuuwcpmdqxqmgxomoniplwhlpb/Build/Products/Debug-iphonesimulator/[AppName]Tests.octest could not be loaded because a link error occurred. It is likely that dyld cannot locate a framework framework or library that the the test bundle was linked against, possibly because the framework or library had an incorrect install path at link time.
Я уже подтвердил, что:
- Все используемые мной фреймворки были добавлены в раздел «Связать двоичный файл с библиотеками» как для приложения, так и для целей тестирования.
- Тестовая цель настроена для правильной сборки, и все мои тестовые методы отображаются в Edit Scheme ...-> Test-> Tests
- Все проблемы, кроме этой, были решены, и ошибок компилятора нет.
- Все параметры, обсуждаемые здесь, настроены правильно и идентичен другому моему проекту, который тестируется правильно.
Есть мысли о том, что может быть причиной этого?