¿Qué pruebas debo usar para probar un analizador csv?
Tengo un analizador de csv simple en C #, y quiero asegurarme de tener una buena cobertura de pruebas unitarias de todos los casos límite comunes (y poco comunes). ¿Qué pruebas debo usar para identificar posibles problemas y casos límite?
Respuestas:
Acabo de encontrar https://github.com/maxogden/csv-spectrum :
fuente
Aquí hay algunos casos límite en los que debería haber pensado y tener casos de prueba.
,foo,
,"foo",
,"foo\nbar"
,"foo,bar"
,"foo""bar"
,,
debería ser un valor nulo y,"",
debería dar una cadena vacía.fuente
No hay una especificación formal para los archivos CSV. Sin embargo, eche un vistazo a RFC 4180 - Tipos comunes de formato y MIME para archivos CSV , (particularmente la Sección 2) que documenta el formato que parece ser seguido por la mayoría de las implementaciones.
Parece bastante sencillo comenzar a generar algunos casos de prueba de la lista en la sección 2, específicamente:
fuente
Los datos del censo de EE. UU. Están disponibles en CSV
He estado trabajando en eso por un tiempo. Ciertamente es lo suficientemente extraño como para ser una buena prueba, y hay toneladas y toneladas de eso.
fuente
Consulte este directorio y mire el código en los archivos * .t .:
http://cpansearch.perl.org/src/MAKAMAKA/Text-CSV-1.32/t/
(El número de versión -1.32 podría cambiar eventualmente, por lo que el enlace podría quedar "muerto". Incremente el número de versión usted mismo mediante prueba y error, o vaya al directorio principal o haga clic aquí
https://metacpan.org/pod/Text::CSV
y haga clic en "Examinar" hasta el código fuente de la versión más reciente)
Text :: CSV_XS es un módulo perl maduro para analizar archivos csv. Los archivos * .t están escritos en Perl 5, contienen muchos casos de prueba para autocomprobar el módulo, se deben realizar en el momento de la instalación del módulo.
fuente