簡體   English   中英

使用iText為生成的PDF創建單元測試

[英]Creating unit tests for generated PDFs using iText

我們使用iText讀取輸入PDF,然后添加消息並保存輸出。

PdfReader reader = new PdfReader(inputFilepath);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputFilename, true));
PdfContentByte over = stamper.getOverContent(1);
over.beginText();
over.showTextAligned(align, text, x, y, angle);
...
over.endText();
stamper.close();

有沒有辦法讀取單元測試中生成的PDF,然后檢查提供的文本是否存在於正確的x,y坐標?

一般來說, 不要測試平台 (或者,在這種情況下,測試您正在使用的第三方庫。)而是測試您是否正確地與它進行了交互。

在這種情況下,這意味着假設showTextAligned()將做正確的事情,只要傳入正確的坐標。然后我將專注於測試它。

這可能意味着我需要隱藏與接口后面的PDF類的所有交互,並且我將該接口的模擬傳遞給計算代碼,使用它來驗證是否傳遞了正確的值給出樣本輸入。

作為快捷方式,您可以使用PdfReader.getPageContent(int pageNumber)測試特定頁面中PDF中的文本順序。

這不是理想的,但它可以是一個窮人的定位測試,假設您從左到右和從上到下打印文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM