c# - 无法读取数据驱动测试的 csv 文件的第一列。 Visual Studio 2017

标签 c# visual-studio data-driven-tests vstest

我正在(通过 SourceText 类)自动生成一个 csv 文件以用于数据驱动测试 (vstest),使用 UTF-8 编码。 TestContext 找不到第一个列标题,它总是抛出异常,

System.ArgumentException: Column 'IsProductCreated' does not belong to table .

如果我在每一行的开头手动添加一个虚拟列,测试就会成功。

TestContext 设置:

[TestMethod]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "9C118DF7_AssignMaterialsToProductionOrderWhenNotReleased.csv", "9C118DF7_AssignMaterialsToProductionOrderWhenNotReleased#csv", DataAccessMethod.Sequential), 
DeploymentItem("..\\..\\MaterialAndContainer\\MaterialManagementTest\\_TestData\\9C118DF7_AssignMaterialsToProductionOrderWhenNotReleased.csv")]

使用示例:

productionOrderScenario.IsProductCreated = (DataDrivenReader.ReadBool(TestContext.DataRow["IsProductCreated"]));

我做错了什么?

最佳答案

我将 SourceText 实例的编码显式更改为 Encoding.Default。这让它起作用了。在我看来,Encoding.Default 不是,好吧,默认值是骗人的……没有编码让我尝试了其他编码,UTF8 似乎是正确的,但事实并非如此。

关于c# - 无法读取数据驱动测试的 csv 文件的第一列。 Visual Studio 2017,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43920398/

相关文章:

使用 C# 进行 Selenium 数据驱动测试

c# - 如何防止在 C# 中实例化对象

c# - 如何降低 IL 嵌套深度?

c# - 存档的 APK 文件大小非常巨大 - Xamarin.Android

c# - 数据驱动测试消除空白

amazon-web-services - 如何制作 x 小时的 SQS 延迟队列

c# - 控制台应用程序中常见的 .NET 与常见的 .NET Core 命名空间

c# - 从 .NET 应用程序调试 C++ 代码时出现问题

visual-studio - Webdeploy发布个人资料密码保存

sql-server - VS2013 - SQL Server 单元测试 - 查询超时