2009-07-10 13 views
7

は、私は私のデータドリブン単体テストで使用されている以下のCSVファイルを持っている:データ駆動ユニットテスト - 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ファイルをメモ帳、メモ帳++、TextMate(Macの場合)で開くと、そのような兆候は見られず、取り除くことはできません。

誰かがこの問題について私に提案できますか?

+1

あなたはどんな言語ですか?私はC#を想定しています... –

答えて

0

ファイルはどのようなエンコーディングですか?

私が知っているところでは、UTF-8はWindowsに保存されています。メモ帳はファイルの前にいくつかの奇妙なシンボルを置いて、UTF8に必要なシンボルが見つからなかったときに、

メモ帳を使ってファイルを編集して保存しましたか?私はそれを試み、結果を比較しようとします。

+0

これは私の最初の仮定だったので、メモ帳でファイルを保存した+と言って編集しました。しかし、結果はありません。私は怒っている、それは非常にシンプルなだけ、これらの気の悪い兆候だろう。何かが間違っている必要があります。 – Juri

11

あなたはCSVファイルが保存されるように設定することができますVS2008でのCSVファイルを編集する場合:

「\高度な保存オプションをファイル...」

「コード:」でドロップデフォルトはUTF-8になります。それを "Wester European(DOS) - Codepage 850"に変更してください。ラインの終わりの選択だけを残す。

+0

ヒントのThx、私はそれを試してみます。 – Juri

+2

これは私のために働いた。これはおそらく答えとしてマークする必要があります。 – jcmcbeth

+0

偉大な先端、これは私のために働いた。この記事が見つかるまで、ArgumentExceptionエラーで約2時間かかりました。私の他のすべてのCSVデータファイルは正常に機能しましたが、1つは問題なく動作しました。非常に奇妙な問題。なぜそれが最初に起こったのか分かりません。 –

関連する問題