我在.net 4.0中有一个单元测试项目。其中一种测试方法读入CSV文件。不幸的是,csv文件中的某些值未被读取。我认为发生的事情是.net正在选择列的类型并忽略任何不适合该类型的值。例如,我可能有一个列,其中90%的值是数字,但另外10%是带字母的数字。带字母的数字没有通过。关于如何解决这个问题的任何想法?
这是我的测试方法
之上的属性 [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\test.csv", "test#csv", DataAccessMethod.Sequential), DeploymentItem("MyProject.Tests\\TestData\\Test.csv"), TestMethod()]
谢谢! AFrieze
答案 0 :(得分:0)
您需要将混合类型列中的值括在引号中。 E.g。
AllNumeric,Mixed,AllString
1,"1",a
2,"2b",b
或者,您可以在与csv文件相同的目录中创建名为Schema.ini的文件以指定类型,如下所述。 http://geekswithblogs.net/dotNETvinz/archive/2011/01/03/uploading-and-importing-csv-file-to-sql-server-in-asp.net.aspx