La pregunta breve es: ¿Cómo puedo hacer que las operaciones del archivo iPhone (objetivo-c) funcionen correctamente desde una línea de comandos? ¿Prueba de unidad?Línea de comandos del iPhone Pruebas unitarias (y E/S de archivos)
La pregunta larga, con explicación: Esto eventualmente se convertirá en una secuencia de comandos para realizar construcciones/pruebas automáticas para la construcción de mi iPhone, a través de una instancia de Hudson. Siguiendo el enlace de makdad en this ASÍ, la pregunta me ha permitido ejecutar las pruebas unitarias desde la línea de comando (semi) con éxito.
Sin embargo, una de mis pruebas falla. La prueba llamaría a una clase de servicio de almacenamiento en caché para guardar un archivo, luego intenta recuperarlo. Sin embargo, el archivo que aparece O/a no funcionar al ejecutar las pruebas desde la línea de comandos :(.
Para referencia, ejecutar las pruebas unidad a través de los resultados de Xcode GUI en ningún tipo de errores.
estoy usando NSFileHandle llamadas a métodos para obtener las manijas para la escritura. si vuelven a cero, el archivo se ha creado usando
[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
pensé que podría tener que ver con los espacios en la ruta de directorio de memoria caché del simulador. estoy en el camino correcto ? si es así, ¿cómo puedo rectificar esto?
Tenga en cuenta también que el simulador debe ser NO ejecutándose para que esto funcione, el simulador se inicia mediante programación y no muestra una GUI. si se está ejecutando, la construcción de la línea de comando falla.
¿Se ha creado el archivo? ¿Está arrojando un error? Generalmente, los espacios no deberían ser un problema en NSString, ya que no hay nada más que lo procese, se tomarán literalmente. Una cosa con la que teníamos que tener cuidado al ejecutar pruebas desde la línea de comandos era cualquier variable de entorno que fuera configurada por Xcode, pero no por nuestro script. – gaige
Desafortunadamente no he tenido la oportunidad de investigar esto por un tiempo, habiendo pasado a otro proyecto y no recuerdo si el archivo se creó o no. Sin embargo, tiene razón, es posible que necesite establecer una variable de entorno para darle al simulador algo de espacio en disco para usar como 'Memoria interna'. si tengo la oportunidad lo probaré – Robotnik
¿Falta algún directorio intermedio? –