8

我的数据驱动单元测试中使用了以下 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 文件添加到现有测试用例时,似乎“文件”列在其名称前有一些奇怪的符号,很像编码问题。但是,如果我使用记事本、Notepad++ 甚至 TextMate(在 Mac 上)打开 CSV 文件,我看不到任何此类迹象,也无法摆脱它们。

有人可以给我一个关于这个问题的建议吗?

4

2 回答 2

12

如果您在 VS2008 中编辑 CSV 文件,您可以设置 CSV 文件的保存方式:

“文件\高级保存选项...”

在“编码:”下拉菜单中,默认为 UTF-8。将其更改为“西欧 (DOS) - 代码页 850”。单独保留行尾选择。

于 2009-09-04T18:17:00.997 回答
0

保存的文件是什么编码?

据我所知,保存在 Windows 记事本中的 UTF-8 在文件前面放置了一些奇怪的符号,以便在找不到 UTF8 所需的任何符号时确切知道使用了什么编码(假设一切都是纯 ascii)

您是否使用 Notepad++ 编辑了文件并保存了它?我会尝试这样做并比较结果。

于 2009-07-10T16:34:08.683 回答