2010-10-29 66 views
8

對於使用單元測試方面,我遲到了派對......試圖找出最佳實踐及其他。我的問題是,給定一個負責生成PDF(或Doc/Html/Xml /等)的類,我將如何去測試最終的輸出文件是否正確?我想出一個基於文本的文件(xml),我可以看到這些字符串是否匹配,但是二進制文件(pdf)又如何呢?我應該檢查一下MD5散列嗎?我是否應該對此進行測試?如何設計用於生成PDF文檔的單元測試?

在此先感謝。

回答

5

我使用pdfbox從生成的PDF中提取文本,並檢查它是否支持它應該的數據。這不檢查數據是否在正確的位置,但我不會深入pdf測試。你需要思考你想要走多深,越深入你越需要花更多時間修改測試(我從來沒有錯過文本錯誤的地方,也許這就是爲什麼我不測試它)。

另一種方法是使用相同的PDF庫(用於編寫它)來閱讀它,或者如果使用某種框架從模板生成PDF,則可以使用iText等。

1

如果它不起作用會是一個問題嗎?如果是,那麼是的,你應該測試它。

現在接下來的問題是,一個二進制文件比較實用工作,以比較預期和實際PDF文件?如果是的話,我會使用它。

+0

有點晚了,但我不同意這一點。它應該被測試,但是比較二進制數據是一種鬧劇,不應該被用來認真地驗證這樣的事情。我明白了,它確實有用,但它太不切實際了,它幾乎毫無價值。這是一個棘手的想法,幾乎沒有真正的答案。 – alexc95 2017-06-05 09:51:56