2009-07-10 40 views
7

我有一個在我的數據驅動的單元測試中使用以下CSV文件:「預期」數據驅動的單元測試 - CSV編碼問題?

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

「文件」,並在報頭。但是,如果我想在代碼中的「文件」 -column像

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

我得到的錯誤

System.ArgumentException:列 「文件」不屬於表..

當我通過test-method屬性將CSV文件添加到現有的測試用例時,好像「文件」列在其名稱前有一些奇怪的符號,很像編碼問題。但是,如果我用記事本,記事本++甚至TextMate(在Mac上)打開CSV文件,我沒有看到任何這樣的跡象,我無法擺脫它們。

有人可以給我一個關於這個問題的建議嗎?

+1

你介意說哪種語言?我假設C#... – 2009-07-10 16:31:49

回答

0

正在保存的文件是什麼編碼?

從我所知道的,保存在Windows記事本中的UTF-8在文件前面放置了一些奇怪的符號,以便確切地知道在沒有找到UTF8所需的任何符號時使用了什麼編碼(假設一切都是隻是簡單的ascii)

你使用記事本+ +編輯文件,並保存它?我會嘗試這樣做並比較結果。

+0

這也是我的第一個假設,所以我按照你所說的做了編輯+用Notepad ++保存了文件...但是沒有結果。我生氣了,這會很簡單,只是這些該死的跡象。一定有什麼問題。 – Juri 2009-07-10 17:20:59

11

如果編輯在VS2008 CSV文件,您可以設置CSV文件將保存方式:

「文件\高級保存選項...」

在「編碼:」降向下默認將是UTF-8。將其更改爲「Wester European(DOS) - Codepage 850」。單獨留下線路結束選擇。

+0

Thx的提示,我會嘗試一下。 – Juri 2009-09-04 19:59:24