我在如何单元测试解析文件中挣扎了一番...假设我有一个包含25列的文件,这个文件可以是20-1000条记录长的任意位置......我如何编写一个单元测试?该函数将文件作为字符串作为参数,并返回一个带有文件内容的DataTable ...单元测试文件解析例程?
我能想到的最好解析4记录文件,只检查左上角和右下角' ...例如前2个记录中的前几个字段和2个底部记录中的最后几个字段......我无法想象必须对文件中的每个字段进行繁琐的手型断言语句。只做一个记录,每个领域看起来都很薄弱,因为它没有考虑多个记录文件或意外数据的情况。
当时看起来'够用'了......但是现在我正在研究一个新的项目,它基本上解析了来自10个不同来源的各种PDF文件,每个来源都有4-6种不同的格式为他们的文件,所以约40-60分析例程。我们最终可能会完全自动化其他25个来源。我们采用PDF并使用第三方工具将其转换为excel ..然后,我们坐下来分析输出中的模式,并编写调用该工具API的代码,获取excel文件并解析它 - 剥离垃圾,在不同地方对数据进行排序,清理等。
我真的可以测试类似这样的东西吗?
这是个好主意 - 我没有想过对XML进行序列化/反序列化。然后,我不需要为整个文件中的每个单元格调用一次Assert()函数。只需要一个断言(或者是否必要的循环)以确保它匹配 – dferraro 2009-11-20 16:03:54
尽管有一个“catch”。我是第一个讲述.NET应用程序的例子。 但是,这个带有40个可能'擦洗脚本'的新项目是用VBA编写的....输入是一个Excel电子表格,输出是一个Excel电子表格...我怎么能序列化这个?也许做整个文件的校验和? – dferraro 2009-11-20 16:06:37
链接已死... :( – Shanimal 2016-03-25 14:51:30