К сожалению, цель модульного теста не использует основной пакет приложения, но создает специальный пакет UnitTest.Поэтому, если вам нужно использовать связанные ресурсы (например, модель базовых данных) в своих тестах, вам нужно обойти эту проблему.
Самый простой и самый гибкий обходной путь - это использование bundleForClass:
метода NSBundle
в вашем тестовом коде.Параметр для этого метода может быть просто задан как [self class]
в ваших тестах.Таким образом, вы можете повторно использовать этот код, не настраивая идентификаторы пакета в нескольких проектах.
Пример:
- (void)testBundleLocation
{
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSURL *url = [bundle URLForResource:@"myDataModel" withExtension:@"momd"];
...
}