Magento (单元)测试pdf生成
我们实现了一个magento模块,我计划为该模块编写测试 问题是:扩展生成PDF 是否有任何框架或任何东西来测试PDF?如果我可以检查pdf中的文本,那就太好了。我不想检查正确的位置 安迪的想法Magento (单元)测试pdf生成,magento,pdf,testing,automated-tests,Magento,Pdf,Testing,Automated Tests,我们实现了一个magento模块,我计划为该模块编写测试 问题是:扩展生成PDF 是否有任何框架或任何东西来测试PDF?如果我可以检查pdf中的文本,那就太好了。我不想检查正确的位置 安迪的想法 这看起来很有希望,但感觉太大了 也许您可以使用Inkscape将其转换为SVG,并在一些SVG节点上进行断言。 如果您只想检查文本或一些简单的格式,就可以这样做 $ inkscape -f invoice.pdf --export-plain-svg=thepdf.svg 不过,要想找到正确的位置,你
这看起来很有希望,但感觉太大了 也许您可以使用Inkscape将其转换为SVG,并在一些SVG节点上进行断言。 如果您只想检查文本或一些简单的格式,就可以这样做
$ inkscape -f invoice.pdf --export-plain-svg=thepdf.svg
不过,要想找到正确的位置,你需要有点模糊
尽管如此,PDF源代码可以非常简单,可以使用simple
strpos()检查您必须让自己去测试“我们向Magento发送了正确的命令”。测试输出PDF将导致脆弱性
模拟PDF编写库,并测试代码是否正确调用了该库。这增加了速度的好处,但需要更多的纪律。如果PDF输出未通过手动检查,则必须首先修复该测试,以保持模拟的真实性。我将PdfBox用于类似的模块,这是一个基于Java的命令行实用程序,可从PDF中提取文本,并可选择将其转换为HTML:
为了在PHPUnit测试中使用它,我为相关的PdfBox方法编写了一个PHP接口:
例子
进一步阅读:
use SGH\PdfBox;
//$pdf = GENERATED_PDF;
$converter = new PdfBox;
$converter->setPathToPdfBox('/usr/bin/pdfbox-app-1.7.0.jar');
$text = $converter->textFromPdfStream($pdf);