CSV提供的第一列数据源中的奇数字符

时间:2011-08-09 16:05:31

标签: c# unit-testing csv

我有一个CSV文件,我添加到Visual Studio单元测试项目中。它有七列,看起来像这样:

assessmentitemid,reviewer1,reviewer2,reviewer3,reviewer4,reviewer5,reviewer6

我的测试方法如下:

    [TestMethod]
    [DeploymentItem("IntraclassCorrelationValues.csv")]
    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\IntraclassCorrelationValues.csv", "IntraclassCorrelationValues#csv", Microsoft.VisualStudio.TestTools.UnitTesting.DataAccessMethod.Sequential)]
    public void TestMethod1() {
        object val = TestContext.DataRow["assessmentitemid"];
    }

访问列evaluateitemid时出现错误。我检查了表格,除了assessmentitemid以外,所有列都已正确映射。它的实际列名是:

assessmentitemid

我是否还需要对DataSource属性执行其他操作才能正确解析CSV文件?

3 个答案:

答案 0 :(得分:6)

看起来.csv文件可能具有Unicode编码。

尝试在记事本中打开它并在“另存为”下,选择UTF-8或ANSI。

答案 1 :(得分:0)

这看起来像是数据文件的问题。

更改源CSV文件中的字符编码并重新保存,我认为这样可以解决问题。

答案 2 :(得分:0)

这看起来像是一个unicode字节顺序标记。