Bow*_*ett 5 php testing laravel
我用 Laravel 编写了一个 REST 应用程序。它接受 Json 有效负载并使用该数据创建格式化的 pdf。
是否可以编写一个测试来检查 pdf 是否已正确生成?
编辑:
理想情况下,我想知道 pdf 没有损坏,即。将在 pdf 阅读器中打开。
另外,最好能以某种方式检查 pdf 的内容。例如...它包含客户姓名吗?
谢谢。
lxg*_*lxg 10
是的,这是可能的,因为相同的 JSON 输入总是生成相同的 PDF。
\n\n您不会真正检查 PDF 文件。PDF 是一种复杂的格式,基于 PostScript 和一些黑魔法。
\n\n您可以做的是生成一个 \xe2\x80\x9csample\xe2\x80\x9d PDF 一次,然后编写一个使用相同输入数据生成 PDF 文件的单元测试,然后将其与您的示例进行比较。
\n\n这看起来像(只是一些示例代码):
\n\n$myPdf = $pdfGenerator->generatePdf();\n$samplePdf = file_get_contents('/some/example/file.pdf');\n\n// with PHPunit\n$this->assertEquals(0, strcmp($myPdf, $samplePdf));\nRun Code Online (Sandbox Code Playgroud)\n\n这有点脏,但它可以完成 \xe2\x80\xa6 的工作,如果 PDF 或 JSON 实现中的某些内容发生更改,单元测试会让您意识到这一点。
\n\n但重要的是,您的 PDF 生成器不会插入任何 \xe2\x80\x9cdynamic\xe2\x80\x9d 数据,例如日期戳。在这种情况下,PDF 文件显然不可能完全相同。
\n| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |