Я слежу за документацией Apple по написанию модульных тестов для iPhone, и из-за этого процедура не работает. Я не уверен, что понимаю, где unit test собирается получить ссылку на делегат приложения.
Мои Зависимости выглядят следующим образом: My_Program_target → UnitTesting_target → UnitTests_bundle
Ниже приведен фрагмент кода, в котором утверждение не выполняется. Я очень хорошо знаком с CPPUNIT, но мне трудно понять, как это происходит.
- (void) testAppDelegate {
id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIAppliation failed to find the AppDelegate");
}
Дополнительно:
Я решил в своем подходе сделать логический тест. Я пытаюсь читать в XML файле, но мне не удастся решить проблему с пакетом, который предоставит мне путь, по которому я могу получить доступ к моему файлу. Я пробовал вставлять в путь вывод allBundles, но этот путь, похоже, не работает. Ниже приводится то, что я выполняю в своем тесте (вы можете увидеть оператор отладки, который я использую для вывода путей пакетов):
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");
По сути, утверждение на пути не увенчалось успехом, но я не уверен, что поставить путь или каталог для ссылки на мой пакет unitTest, который я сказал, чтобы скопировать ресурсы пакета. Вызов [NSBundle mainBundle] также не работает.