我在如何單元測試解析文件中掙扎了一番...假設我有一個包含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