ПРИМЕЧАНИЕ: «Использовать GHUnit» не является приемлемым ответом на этот вопрос. Я знаю, что большинство думает, что GHUnit лучше, чем Xcode4 OCUnit, но я спрашиваю не об этом. Я оцениваю это отдельно.
У меня есть проект Xcode, который я создал в Xcode4 с нуля, с флажком «Включить модульные тесты», установленным во время создания. Я также включил несколько библиотек, которые разработал в предыдущем проекте. Они были добавлены в проект через диалог «Добавить файлы в x ...» и добавлены только в цель приложения (а не в цель тестирования). Они нормально работают при запуске приложения, поэтому я думаю, что они настроены правильно. У меня также есть несколько различных классов, написанных для этого проекта.
Мои файлы тестирования настроены стандартным образом, с именами [AppName] Tests.h и .m.
Код для заголовка: #import
@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: Тестовый пакет в / Users / [Me] / Library / Developer / Xcode / DerivedData / [AppName] - dwuuuwcpmdqxqmgxomoniplwhlpb / Build / Products / Debug-iphonesimulator / [AppName] Tests.octest не может быть загружен из-за ошибки связи. Вероятно, что dyld не может найти фреймворк или библиотеку, с которой был скомпонован тестовый комплект, возможно, потому что фреймворк или библиотека имели неправильный путь установки во время компоновки.
Я уже подтвердил, что:
Есть какие-нибудь мысли о том, что может быть причиной этого?