Юнит-тесты командной строки iPhone (и файловый ввод-вывод)

Короткий вопрос: Как я могу заставить файловые операции iPhone (objective-c) корректно работать из командной строки Unit Test?

Длинный вопрос с пояснением: В конечном итоге это станет скриптом для автоматизированной сборки/тестирования моей сборки iPhone через экземпляр Hudson. Следуя ссылке makdad'а на этот вопрос SO, я смог успешно запустить Unit-тесты из командной строки (полу).

Однако один из моих тестов не работает. Тест вызывает класс Caching Service для сохранения файла, а затем пытается его получить. однако, похоже, что файловый ввод/вывод не работает при запуске тестов из командной строки :(.

Для справки, запуск Unit-тестов через графический интерфейс Xcode не приводит к подобным ошибкам.

Я использую вызовы метода NSFileHandle для получения хэндлов для записи. если они возвращают nil, файл создается с помощью

[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];

Я подумал, что это может быть связано с пробелами в пути к директории кэша симулятора. я на правильном пути? Если да, то как мне это исправить?

Обратите внимание, что симулятор должен быть НЕ запущен, чтобы это сработало, симулятор запускается программно и не отображает GUI. если он запущен, сборка из командной строки не сработает.

31
задан Community 23 May 2017 в 12:15
поделиться