Necesito cobertura de código para mi aplicación de iPhone.XCode - ¿Cobertura del código?
¿Alguien puede proporcionar información detallada sobre cómo obtener la cobertura de código para Xcode 4?
Gracias
Necesito cobertura de código para mi aplicación de iPhone.XCode - ¿Cobertura del código?
¿Alguien puede proporcionar información detallada sobre cómo obtener la cobertura de código para Xcode 4?
Gracias
Tengo una entry on my blog que cubre este tema exacto.
Proporciona una guía paso a paso sobre cómo habilitar GCOV en Xcode 4 y cómo usar CoverStory para mostrar los resultados.
Seguí todas sus instrucciones y termino con una cobertura de código de 0% en cada archivo. las pruebas pasan mientras se muestra el resultado de la construcción. ¿Alguna sugerencia? – aryaxt
Asegúrate de no estar utilizando ningún encabezado precompilado, ya que pueden provocar 0% de resultados. Es posible que también necesites hacer una compilación limpia. –
Gracias. 1 pregunta más¿Puedo configurar mi objetivo en iOS o tiene que ser MAC OS X. – aryaxt
Estos pasos ayudarán.
Cree una nueva configuración de compilación ('Cobertura'), duplicada de la configuración 'Depurar'.
Abre la configuración de creación para el objetivo principal, asegúrese de que su nueva configuración se selecciona, y:
Enable “Generate Test Coverage Files”
Enable “Instrument Program Flow”
Add “-lgcov” to “Other Linker Flags”
de compilar la aplicación con el modo de cobertura.
Comprueba los archivos .gcno de la carpeta del paquete de aplicaciones.
Cobertura-iphonesimulator/applicationname.build/objetos normales
abren .gcno archivos con Coverstory. Descargar Coverstory de
http://code.google.com/p/coverstory/downloads/list
Sitios de Referencia
No pude encontrar un buen ejemplo de esto, así que con suerte esto ayudará a alguien más.
Si desea generar código HTML de su cobertura de código (una vez que se generó .gcda sus archivos), puede instalar y utilizar lcov
estos comandos:
function generate-codecoverage-html() {
if [[ $1 == "-h" || ! $# -eq 2 ]]; then
echo " usage: $0 path/to/codecoverage/dir/ path/to/htmldir/"
return
fi
timestamp=$(date)
tmpfile="/tmp/codecoverage.info-$date"
lcov --no-checksum --directory "$1" --capture --output-file "$tmpfile"
genhtml --output-directory "$2" "$tmpfile"
}
¿dónde está 'lcov'? – AnneTheAgile
lo encontró; https://github.com/linux-test-project/lcov, referenciado en https://github.com/jonreid/XcodeCoverage – AnneTheAgile
Clang/LLVM no tiene soporte para gcov y no proporcionan capacidades de cobertura de código. Es posible que pueda usar gcov con GCC dependiendo de si su programa se compila con GCC. Vea [este informe de error en LLVM] (http://llvm.org/bugs/show_bug.cgi?id=8030) y considere [presentar un radar de solicitud de característica] (http://bugreport.apple.com) también. –
Ha configurado UIApplicationExitsOnSusspend en SÍ en su info.plist – aryaxt
@Bavarious: según su informe de errores, clang admite la cobertura ahora? –