我正在运行一些使用 NUnit 用 C#.NET 编写的测试用例(这是在 Visual Studio 2010 上)。我使用的方法从另一个开发团队提供给我的 Excel .xls (2003) 文件中读取用户和地址数据。当我在不更改 Excel 文件的情况下运行测试时,一切正常。如果我更改Excel 文件中的某些值,例如名字或姓氏,或街道地址,它仍然有效。但是,如果我更改邮政编码字段,测试将失败,并且我收到一条错误消息:
“System.ArgumentException:‘System.DBNull’类型的对象无法转换为‘System.Double’类型”
即使我输入完全相同的值也会发生这种情况。换句话说,如果现有的邮政编码值是“ 11111
”并且我根本不修改文件,那么当我运行它时测试就可以工作。但是,如果我修改该字段并重新键入“ 11111
”,读者会将其视为 NULL 值并引发上述错误。在电子表格的其他行(我没有修改的那些行)中,值返回为“ 11111.0d
”并且一切正常,因此读者似乎正在将这些值作为 Double 读取(我不确定为什么) . 但如果我自己输入值,它就不会这样读。
我读过的一篇文章建议IMEX=1
在连接字符串中使用以将混合值读取为文本。然而,这并没有奏效。当我添加IMEX=1
时,我收到了一条"Could not find installable ISAM"
消息。
提前感谢您的帮助。