gpt4 book ai didi

C# 数据源 CSV 单元测试 - 找不到第一列

转载 作者:行者123 更新时间:2023-12-01 18:54:36 24 4
gpt4 key购买 nike

我正在尝试使用 Microsoft Visual Studio 2013 加载 CSV 文件。代码:

    [TestMethod]
[DeploymentItem("data.csv")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential)]
public void Teste_Arquivo_EXEC()
{
// DETAIL
var row = TestContext.DataRow;
var detail = new EXECDetail();

detail.codigoVara = Int32.Parse(row["codigoVara"].ToString());
....
}

但是,当我运行测试时,它给了我一个 System.ArgumentException:列“codigoVara”不属于表。这是 CSV 文件(它从源复制到输出目录):

codigoVara,codigoComarca,numeroProcesso,numeroAlvara,tipoPessoa,sequencialMovimento,tipoCredito,codigoAgencia,codigoBanco,contaCorrente,valor,nomeParte,cpfCnpj,idDeposito,sequencialRegistro
3001,1,1235520148140300,14013001005,F,1,15,3372,1,242020,150.42,LEANDRO HERNANDEZ ALMEIDA,84887532253,1,1

我尝试使用“符号,例如“codigoVara”,但没有成功。我还注意到一件有趣的事情:当我通过索引访问该列时,它起作用了!!!

detail.codigoVara = Int32.Parse(row[0].ToString());

提前感谢您的帮助 =)

最佳答案

我认为您的 .csv 文件是以带 BOM 的 UTF-8 编码存储的。如果是这样,那么错误的原因是 MS 测试运行程序的错误,它通过将 BOM 包含到第一个列名称来错误地解析列名称。其他列可通过其名称进行访问。

关于C# 数据源 CSV 单元测试 - 找不到第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25696450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com