Модульное тестирование на основе данных - проблема с кодировкой CSV? - PullRequest
7 голосов
/ 10 июля 2009

У меня есть следующий CSV-файл, который используется в моем модульном тесте, управляемом данными:

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

«Файл» и «ожидаемый» - заголовок. Но если я хочу получить столбец «Файл» в коде, например

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

Я получаю ошибку

System.ArgumentException: столбец «Файл» не принадлежит таблице.

Когда я добавляю CSV-файл в существующий контрольный пример по свойствам тестового метода, создается впечатление, что столбец «Файл» имеет несколько странных знаков перед своим именем, что напоминает проблему кодирования. Но если я открою файл CSV с помощью Notepad, Notepad ++ или даже TextMate (на Mac), я не вижу таких признаков и не смогу от них избавиться.

Может кто-нибудь дать мне предложение по этой проблеме?

Ответы [ 2 ]

11 голосов
/ 04 сентября 2009

Если вы редактируете файл CSV в VS2008, вы можете указать способ сохранения файла CSV:

"Файл \ Дополнительные параметры сохранения ..."

В раскрывающемся списке «Кодировка:» по умолчанию будет UTF-8. Измените его на «Wester European (DOS) - кодовая страница 850». Оставьте выделение окончания строки в покое.

0 голосов
/ 10 июля 2009

В какой кодировке сохраняется файл?

Из того, что я знаю, UTF-8, сохраненный в блокноте Windows, помещает некоторые странные символы перед файлом, чтобы точно знать, какая кодировка использовалась, когда не было найдено символов, необходимых для UTF8 (при условии, что все обычный ascii)

Вы редактировали файл с помощью Notepad ++ и сохранили его? Я бы попробовал это сделать и сравнить результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...