2009-07-10 18 views
7

Tengo el siguiente archivo CSV que se utiliza en mi prueba unitaria controlada por datos:Prueba unitaria basada en datos: ¿problema con la codificación CSV?

File;expected 
Resources.resx;default 
Resources.de.resx;de 
AttachmentDetail.ascx.it.resx;it 
SomeOtherFile.rm-CH.resx;rm-CH 

"Archivo" y "espera" son la cabecera. Pero si quiero obtener el "Archivo" -column en el código como

TestContext.DataRow["File"].ToString(); 

consigo el error

System.ArgumentException: Columna 'Archivo' no pertenece a la mesa ..

Cuando agrego el archivo CSV a un caso de prueba existente sobre las propiedades del método de prueba, parece como si la columna "Archivo" tuviera algunos signos extraños antes de su nombre, muy parecido a un problema de codificación. Pero si abro el archivo CSV con Notepad, Notepad ++ o incluso TextMate (en Mac), no veo ningún signo así y no puedo deshacerme de ellos.

¿Alguien me puede dar una sugerencia sobre este problema?

+1

¿Te importaría decir qué idioma es ese? Supongo que C# ... –

Respuesta

0

¿Qué codificación está guardando el archivo?

Por lo que sé, UTF-8 guardado en el bloc de notas de Windows pone algunos símbolos extraños delante del archivo para saber exactamente qué codificación se utilizó cuando no encontró ningún símbolo que se necesita para UTF8 (suponiendo que todo es simplemente ascii)

¿Editó el archivo usando Notepad ++ y lo guardó? Intentaría hacer eso y comparar los resultados.

+0

Esa fue también mi primera suposición, así que hice lo que dijiste y edité + guardé el archivo con Notepad ++ ... sin embargo no obtuve ningún resultado. Me estoy enojando, sería tan simple, solo estos malditos signos. Debe haber algo mal. – Juri

11

Si edita el archivo CSV en el VS2008 puede configurar la forma en que se guardará el archivo CSV:

"Archivo \ Guardar opciones avanzadas ..."

En la "Codificación:" gota el valor predeterminado será UTF-8. Cámbielo a "Wester European (DOS) - Codepage 850". Deje la selección Endings line solo.

+0

Gracias por la pista, lo intentaré. – Juri

+2

Esto funcionó para mí. Esto probablemente debería marcarse como la respuesta. – jcmcbeth

+0

Un gran consejo, esto funcionó para mí. Pasé aproximadamente 2 horas luchando con el error ArgumentException hasta que encontré esta publicación. Todos mis otros archivos de datos CSV funcionaron bien pero 1 no y esta fue la razón. Problema muy extraño. No estoy seguro de por qué sucedió en primer lugar. –

Cuestiones relacionadas