我的数据驱动单元测试中使用了以下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:Column '文件'不属于表..
当我通过测试方法属性将CSV文件添加到现有测试用例时,似乎“文件”列在其名称前面有一些奇怪的符号,就像编码问题一样。但是,如果我用记事本,Notepad ++甚至TextMate(在Mac上)打开CSV文件,我看不到任何这样的迹象,我也无法摆脱它们。
有人可以给我一个关于这个问题的建议吗?
答案 0 :(得分:11)
如果您在VS2008中编辑CSV文件,您可以设置CSV文件的保存方式:
“文件\高级保存选项...”
在“编码:”下拉列表中,默认值为UTF-8。将其更改为“Wester European(DOS) - Codepage 850”。单独保留Line endings选项。
答案 1 :(得分:0)
要保存的文件是什么编码?
据我所知,保存在Windows记事本中的UTF-8在文件前面放置了一些奇怪的符号,以确切知道在没有找到UTF8所需的符号时使用了什么编码(假设一切都只是平原ascii)
您是否使用Notepad ++编辑并保存了文件?我会尝试这样做并比较结果。