PHPUnit文件生成和测试特定选项



我有一个TestPdfGeneration.php文件,它通过MPDF生成一个PDF文件作为输出。

由于(我认为(MPDF的行为,我应该在运行该测试时添加--stderr选项,否则它会抱怨";报头已经被发送";;我已经查看了PHPUnit文档,但没有提到如何添加选项;在飞行中";到特定的测试文件。

我可以在phpunit.xml文件中添加选项,但这将在全局范围内应用;我正在寻找的是一种方法,只将该选项添加到那些真正需要它的测试类中

有人能帮我吗?

编辑

以下是我如何生成PDF文件:它使用mPDF的包装包,以便与Laravel一起使用。mPDF对象本身可以使用getMpdf()函数来获得。

$pdf_config = [
'tempDir' => __DIR__ . '/tempPdf',
'format' => 'A4',
'setAutoTopMargin' => 'pad',
'margin_top' => 5,
'margin_footer' => 5,
];
$pdf = PDF::getPdf($pdf_config);
if(isset($pdf_data['bozza'])) {
$pdf->getMpdf()->SetWatermarkText('DRAFT');
$pdf->getMpdf()->showWatermarkText = true;
}
$pdf->getMpdf()->setAutoTopMargin = 'pad';
$pdf->getMpdf()->shrink_tables_to_fit = 1;
$pdf->getMpdf()->WriteHTML(View::make($pdf_data['view'], $pdf_data, [])->render());
// D -> Download
// I -> Inline => stream
return $pdf->getMpdf()->Output($pdf_data['filename'], 'I');

我认为重点是mPDF中的WriteHTML函数,因为这就是调用视图的渲染函数的时候。

使用S作为生成PDF的模式。它不像I那样发送HTTP头,只是返回二进制PDF字符串。

return $pdf->getMpdf()->Output($pdf_data['filename'], 'S');

最新更新